⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sidtab.h

📁 xen虚拟机源代码安装包
💻 H
字号:
/* * A security identifier table (sidtab) is a hash table * of security context structures indexed by SID value. * * Author : Stephen Smalley, <sds@epoch.ncsc.mil> *//* Ported to Xen 3.0, George Coker, <gscoker@alpha.ncsc.mil> */#ifndef _SS_SIDTAB_H_#define _SS_SIDTAB_H_#include "context.h"#include <xen/spinlock.h>struct sidtab_node {    u32 sid;        /* security identifier */    struct context context;    /* security context structure */    struct sidtab_node *next;};#define SIDTAB_HASH_BITS 7#define SIDTAB_HASH_BUCKETS (1 << SIDTAB_HASH_BITS)#define SIDTAB_HASH_MASK (SIDTAB_HASH_BUCKETS-1)#define SIDTAB_SIZE SIDTAB_HASH_BUCKETSstruct sidtab {    struct sidtab_node **htable;    unsigned int nel;    /* number of elements */    unsigned int next_sid;    /* next SID to allocate */    unsigned char shutdown;    spinlock_t lock;};int sidtab_init(struct sidtab *s);int sidtab_insert(struct sidtab *s, u32 sid, struct context *context);struct context *sidtab_search(struct sidtab *s, u32 sid);int sidtab_map(struct sidtab *s,    int (*apply) (u32 sid, struct context *context, void *args), void *args);void sidtab_map_remove_on_error(struct sidtab *s,    int (*apply) (u32 sid, struct context *context, void *args), void *args);int sidtab_context_to_sid(struct sidtab *s, struct context *context, u32 *sid);void sidtab_hash_eval(struct sidtab *h, char *tag);void sidtab_destroy(struct sidtab *s);void sidtab_set(struct sidtab *dst, struct sidtab *src);void sidtab_shutdown(struct sidtab *s);#endif    /* _SS_SIDTAB_H_ */

⌨️ 快捷键说明

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