strhash.h
来自「基于组件方式开发操作系统的OSKIT源代码」· C头文件 代码 · 共 65 行
H
65 行
#ifndef _STRHASH_H_INCLUDE#define _STRHASH_H_INCLUDE/* $\Header: /home/ncvs/src/include/strhash.h,v 1.2 1995/05/30 04:54:49 rgrimes Exp $ *//* * * Copyright 1990 * Terry Jones & Jordan Hubbard * * PCS Computer Systeme, GmbH. * Munich, West Germany * * * All rights reserved. * * This is unsupported software and is subject to change without notice. * the author makes no representations about the suitability of this software * for any purpose. It is supplied "as is" without express or implied * warranty. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of the author not be used in * advertising or publicity pertaining to distribution of the software * without specific, written prior permission. * *//* * This is the definition file for hash.c. The plunderer from down-under * did the code, I just helped define the spec. That's why his name gets * to go first. */#define HASH_SZ 97typedef struct _node { char *key; void *data; struct _node *next;} hash_node;typedef struct { int size; hash_node **buckets;} hash_table;hash_table *hash_create(int size);void hash_destroy(hash_table *table, char *key, void (*nukefunc)(char *k, void *d));void *hash_search(hash_table *table, char *key, void *datum, void (*replace_func)(void *d));void hash_traverse(hash_table *table, int (*func)(char *k, void *d, void *arg), void *arg);void hash_purge(hash_table *table, void (*purge_func)(char *k, void *d));#ifdef HASH_STATSextern void hash_stats();#endif#endif /* _STRHASH_H_INCLUDE */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?