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

📄 symtab.c

📁 xen虚拟机源代码安装包
💻 C
字号:
/* * Implementation of the symbol table type. * * Author : Stephen Smalley, <sds@epoch.ncsc.mil> *//* Ported to Xen 3.0, George Coker, <gscoker@alpha.ncsc.mil> */#include <xen/lib.h>#include <xen/xmalloc.h>#include <xen/string.h>#include <xen/errno.h>#include "symtab.h"static unsigned int symhash(struct hashtab *h, void *key){    char *p, *keyp;    unsigned int size;    unsigned int val;    val = 0;    keyp = key;    size = strlen(keyp);    for ( p = keyp; (p - keyp) < size; p++ )        val = (val << 4 | (val >> (8*sizeof(unsigned int)-4))) ^ (*p);    return val & (h->size - 1);}static int symcmp(struct hashtab *h, void *key1, void *key2){    char *keyp1, *keyp2;    keyp1 = key1;    keyp2 = key2;    return strcmp(keyp1, keyp2);}int symtab_init(struct symtab *s, unsigned int size){    s->table = hashtab_create(symhash, symcmp, size);    if ( !s->table )        return -1;    s->nprim = 0;    return 0;}

⌨️ 快捷键说明

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