Lines Matching full:set
80 * bits) followed by a '+' (set bits).
85 const BITCMD *set; in getmode() local
88 set = (const BITCMD *)bbox; in getmode()
90 for (value = 0;; set++) in getmode()
91 switch(set->cmd) { in getmode()
108 common: if (set->cmd2 & CMD2_CLR) { in getmode()
110 (set->cmd2 & CMD2_SET) ? S_IRWXO : value; in getmode()
111 if (set->cmd2 & CMD2_UBITS) in getmode()
112 newmode &= ~((clrval<<6) & set->bits); in getmode()
113 if (set->cmd2 & CMD2_GBITS) in getmode()
114 newmode &= ~((clrval<<3) & set->bits); in getmode()
115 if (set->cmd2 & CMD2_OBITS) in getmode()
116 newmode &= ~(clrval & set->bits); in getmode()
118 if (set->cmd2 & CMD2_SET) { in getmode()
119 if (set->cmd2 & CMD2_UBITS) in getmode()
120 newmode |= (value<<6) & set->bits; in getmode()
121 if (set->cmd2 & CMD2_GBITS) in getmode()
122 newmode |= (value<<3) & set->bits; in getmode()
123 if (set->cmd2 & CMD2_OBITS) in getmode()
124 newmode |= value & set->bits; in getmode()
129 newmode |= set->bits; in getmode()
133 newmode &= ~set->bits; in getmode()
138 newmode |= set->bits; in getmode()
151 if (set >= endset) { \
157 set = newset + (set - saveset); \
161 set = addcmd(set, (mode_t)(a), (mode_t)(b), (mode_t)(c), (d))
170 BITCMD *set, *saveset, *endset; in setmode() local
183 * Flip the bits, we want what's not set. in setmode()
189 if ((set = malloc(setlen * sizeof(BITCMD))) == NULL) in setmode()
191 saveset = set; in setmode()
192 endset = set + (setlen - 2); in setmode()
213 set->cmd = 0; in setmode()
218 * Build list of structures to set/clear/copy bits as described by in setmode()
257 /* If only "other" bits ignore set-id. */ in setmode()
323 set->cmd = 0; in setmode()
353 * security.bsd.unprivileged_proc_debug is set to 0. in get_current_umask()
372 addcmd(BITCMD *set, mode_t op, mode_t who, mode_t oparg, mode_t mask) in addcmd() argument
376 set->cmd = '-'; in addcmd()
377 set->bits = who ? who : STANDARD_BITS; in addcmd()
378 set++; in addcmd()
385 set->cmd = op; in addcmd()
386 set->bits = (who ? who : mask) & oparg; in addcmd()
392 set->cmd = op; in addcmd()
394 set->cmd2 = ((who & S_IRUSR) ? CMD2_UBITS : 0) | in addcmd()
397 set->bits = (mode_t)~0; in addcmd()
399 set->cmd2 = CMD2_UBITS | CMD2_GBITS | CMD2_OBITS; in addcmd()
400 set->bits = mask; in addcmd()
404 set->cmd2 |= CMD2_SET; in addcmd()
406 set->cmd2 |= CMD2_CLR; in addcmd()
408 set->cmd2 |= CMD2_SET|CMD2_CLR; in addcmd()
411 return (set + 1); in addcmd()
416 dumpmode(BITCMD *set) in dumpmode() argument
418 for (; set->cmd; ++set) in dumpmode()
420 set->cmd, set->bits, set->cmd2 ? " cmd2:" : "", in dumpmode()
421 set->cmd2 & CMD2_CLR ? " CLR" : "", in dumpmode()
422 set->cmd2 & CMD2_SET ? " SET" : "", in dumpmode()
423 set->cmd2 & CMD2_UBITS ? " UBITS" : "", in dumpmode()
424 set->cmd2 & CMD2_GBITS ? " GBITS" : "", in dumpmode()
425 set->cmd2 & CMD2_OBITS ? " OBITS" : ""); in dumpmode()
436 compress_mode(BITCMD *set) in compress_mode() argument
441 for (nset = set;;) { in compress_mode()
444 *set++ = *nset++; in compress_mode()
464 set->cmd = '-'; in compress_mode()
465 set->cmd2 = 0; in compress_mode()
466 set->bits = clrbits; in compress_mode()
467 set++; in compress_mode()
470 set->cmd = '+'; in compress_mode()
471 set->cmd2 = 0; in compress_mode()
472 set->bits = setbits; in compress_mode()
473 set++; in compress_mode()
476 set->cmd = 'X'; in compress_mode()
477 set->cmd2 = 0; in compress_mode()
478 set->bits = Xbits; in compress_mode()
479 set++; in compress_mode()