Lines Matching defs:pxdesc

1507 static void showposix(const struct POSIX_SECURITY *pxdesc)
1522 if (pxdesc) {
1523 acccnt = pxdesc->acccnt;
1524 defcnt = pxdesc->defcnt;
1525 firstdef = pxdesc->firstdef;
1526 acl = &pxdesc->acl;
1531 printf(" mode : 0%03o\n",(int)pxdesc->mode);
1532 printf(" tagsset : 0x%02x\n",(int)pxdesc->tagsset);
2074 struct POSIX_SECURITY *pxdesc;
2145 pxdesc = linux_permissions_posix(attr,isdir);
2146 if (pxdesc) {
2147 showposix(pxdesc);
2148 free(pxdesc);
2468 static u32 merge_rights(const struct POSIX_SECURITY *pxdesc, BOOL def)
2482 first = pxdesc->firstdef;
2483 last = pxdesc->firstdef + pxdesc->defcnt - 1;
2486 last = pxdesc->acccnt - 1;
2488 pxace = pxdesc->acl.ace;
2556 static void tryposix(struct POSIX_SECURITY *pxdesc)
2581 newpxdesc = ntfs_merge_descr_posix(pxdesc, oldpxdesc);
2583 newpxdesc = pxdesc;
2590 newpxdesc = pxdesc;
2759 struct POSIX_SECURITY *pxdesc;
2971 pxdesc = linux_permissions_posix(descr, isdir);
2973 pxdesc = (struct POSIX_SECURITY*)NULL;
2974 if (!descr || !pxdesc || !same_posix(pxsample,pxdesc)) {
2979 if (pxdesc)
2980 showposix(pxdesc);
2984 free(pxdesc);
3131 pxdesc = linux_permissions_posix(descr, isdir);
3132 if (pxdesc) {
3133 accrights = merge_rights(pxdesc,FALSE);
3134 defrights = merge_rights(pxdesc,TRUE);
3135 if (!(pxdesc->tagsset & ~(POSIX_ACL_USER_OBJ | POSIX_ACL_GROUP_OBJ | POSIX_ACL_OTHER)))
3139 if ((pxdesc->mode != mixmode)
3143 cnt,pxdesc->mode,mixmode);
3149 showposix(pxdesc);
3151 free(pxdesc);
3195 struct POSIX_SECURITY *pxdesc;
3226 pxdesc = linux_permissions_posix(attr, isdir);
3227 if (!pxdesc || (pxdesc->mode != perm)) {
3229 if (pxdesc)
3230 gotback = pxdesc->mode;
3240 pxdesc,isdir,owner,
3258 free(pxdesc);
3372 struct POSIX_SECURITY *pxdesc;
3374 struct POSIX_SECURITY pxdesc;
3447 pxdesc = &desc.pxdesc;
3448 pxdesc->mode = 0;
3449 pxdesc->defcnt = 0;
3451 pxdesc->acccnt = 4;
3452 pxdesc->firstdef = 4;
3453 pxdesc->tagsset = 0x35;
3455 pxdesc->acccnt = 6;;
3456 pxdesc->firstdef = 6;
3457 pxdesc->tagsset = 0x3f;
3459 pxdesc->acl.version = POSIX_VERSION;
3460 pxdesc->acl.flags = 0;
3461 pxdesc->acl.filler = 0;
3463 pxdesc->acl.ace[0].tag = POSIX_ACL_USER_OBJ;
3464 pxdesc->acl.ace[0].id = -1;
3466 pxdesc->acl.ace[1].tag = POSIX_ACL_GROUP_OBJ;
3467 pxdesc->acl.ace[1].id = -1;
3468 pxdesc->acl.ace[2].tag = POSIX_ACL_MASK;
3469 pxdesc->acl.ace[2].id = -1;
3470 pxdesc->acl.ace[3].tag = POSIX_ACL_OTHER;
3471 pxdesc->acl.ace[3].id = -1;
3473 pxdesc->acl.ace[1].tag = POSIX_ACL_USER;
3474 pxdesc->acl.ace[1].id = (kind & 16 ? 0 : 1000);
3475 pxdesc->acl.ace[2].tag = POSIX_ACL_GROUP_OBJ;
3476 pxdesc->acl.ace[2].id = -1;
3477 pxdesc->acl.ace[3].tag = POSIX_ACL_GROUP;
3478 pxdesc->acl.ace[3].id = (kind & 16 ? 0 : 1002);
3479 pxdesc->acl.ace[4].tag = POSIX_ACL_MASK;
3480 pxdesc->acl.ace[4].id = -1;
3481 pxdesc->acl.ace[5].tag = POSIX_ACL_OTHER;
3482 pxdesc->acl.ace[5].id = -1;
3497 pxdesc->mode = (ownobj << 6) | (mask << 3) | wrld;
3499 pxdesc->acl.ace[0].perms = ownobj;
3501 pxdesc->acl.ace[1].perms = grpobj;
3502 pxdesc->acl.ace[2].perms = mask;
3503 pxdesc->acl.ace[3].perms = wrld;
3505 pxdesc->acl.ace[1].perms = usr;
3506 pxdesc->acl.ace[2].perms = grpobj;
3507 pxdesc->acl.ace[3].perms = grp;
3508 pxdesc->acl.ace[4].perms = mask;
3509 pxdesc->acl.ace[5].perms = wrld;
3514 pxdesc,isdir,owner,group);
3524 if (!same_posix(pxdesc,gotback)) {
3527 showposix(pxdesc);
3551 showposix(pxdesc);
3804 static BOOL setfull_posix(const char *fullname, const struct POSIX_SECURITY *pxdesc,
3823 if (pxdesc->acccnt)
3826 printf(" mode 0%03o\n",pxdesc->mode);
3837 if (!pxdesc->defcnt
3838 && !(pxdesc->tagsset &
3840 if (!ntfs_merge_mode_posix(oldpxdesc,pxdesc->mode))
3847 newpxdesc = ntfs_merge_descr_posix(pxdesc, oldpxdesc);
4115 struct POSIX_SECURITY *pxdesc;
4209 pxdesc = linux_permissions_posix(attr,isdir);
4210 if (pxdesc)
4211 mode = pxdesc->mode;
4240 if (pxdesc) {
4242 && (pxdesc->defcnt
4243 || (pxdesc->tagsset
4247 showposix(pxdesc);
4248 free(pxdesc);
4397 struct POSIX_SECURITY *pxdesc;
4432 pxdesc = linux_permissions_posix(attr,isdir);
4433 if (pxdesc)
4434 mode = pxdesc->mode;
4438 pxdesc = (struct POSIX_SECURITY*)NULL;
4465 if (pxdesc) {
4466 if ((pxdesc->defcnt
4467 || (pxdesc->tagsset
4471 showposix(pxdesc);
4472 free(pxdesc);
4544 static BOOL recurseset_posix(const char *path, const struct POSIX_SECURITY *pxdesc)
4557 err = !setfull_posix(path,pxdesc,TRUE);
4569 recurseset_posix(current->name,pxdesc);
4576 err = !setfull_posix(path,pxdesc,FALSE);
4633 static BOOL singleset_posix(const char *path, const struct POSIX_SECURITY *pxdesc)
4642 err = !setfull_posix(path,pxdesc,isdir);
5597 struct POSIX_SECURITY *pxdesc;
5633 pxdesc = (struct POSIX_SECURITY*)malloc(sizeof(struct POSIX_SECURITY)
5635 if (pxdesc) {
5636 pxdesc->acccnt = acccnt;
5637 pxdesc->firstdef = acccnt;
5638 pxdesc->defcnt = defcnt;
5639 acl = &pxdesc->acl;
5846 pxdesc->mode = mode;
5847 pxdesc->tagsset = tagsset;
5848 pxdesc->acl.version = POSIX_VERSION;
5849 pxdesc->acl.flags = 0;
5850 pxdesc->acl.filler = 0;
5852 ntfs_sort_posix(pxdesc);
5853 showposix(pxdesc);
5857 || !ntfs_valid_posix(pxdesc)) {
5858 if (~pxdesc->tagsset
5863 free(pxdesc);
5864 pxdesc = (struct POSIX_SECURITY*)NULL;
5868 showposix(pxdesc);
5872 return (pxdesc);
5883 struct POSIX_SECURITY *pxdesc;
5891 pxdesc = encode_posix_acl(p);
5892 if (pxdesc) {
5898 recurseset_posix(base,pxdesc);
5900 singleset_posix(base,pxdesc);
5915 free(pxdesc);