lids_capflag.h

来自「关于LINUX安全内核的源代码」· C头文件 代码 · 共 43 行

H
43
字号
#ifndef LIDS_CAPFLAG_H#define LIDS_CAPFLAG_H#define EINVAL -1#define ENOENT -2typedef struct entry_s {	struct entry_s *next;	char *name;			/* Name of entry */	int val;			/* Value of entry */	char *desc;			/* Short description of entry */	int pos;			/* Location of entry */} entry_t;extern entry_t flag_list[];extern entry_t cap_list[];#define for_each_entry(list,c)	for ((c) = list; (c)->next != NULL; (c) = (c)->next)extern entry_t *getentrybyname(entry_t *list, const char *name);extern entry_t *getentrybyval(entry_t *list, int val);extern entry_t *getentrybypos(entry_t *list, int pos);extern void setentry(entry_t *list);extern void endentry(entry_t *list);#define FLAG_FULL_SET           (~0)#define FLAG_TO_MASK(flag)      (1 << (flag))#define flag_raise(flag, bit)   ((flag) |= FLAG_TO_MASK(bit))#define flag_lower(flag, bit)   ((flag) &= ~FLAG_TO_MASK(bit))#define flag_raised(flag, bit)  ((flag) & FLAG_TO_MASK(bit) & FLAG_FULL_SET)#define CAP_FULL_SET            (~0)#define CAP_TO_MASK(cap)       (1 << (cap))#define cap_raise(cap, bit)    ((cap) |= CAP_TO_MASK(bit))#define cap_lower(cap, bit)    ((cap) &= ~CAP_TO_MASK(bit))#define cap_raised(cap, bit)   ((cap) & CAP_TO_MASK(bit) & CAP_FULL_SET)#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?