00001
00011 #ifndef __KERN_ID_H__
00012 #define __KERN_ID_H__
00013
00014
00015 typedef struct IdEntry
00016 {
00017
00018 int id;
00019
00020 void * data;
00021 } IdEntry;
00022
00023
00024 typedef struct
00025 {
00026
00027 int nextId;
00028
00029 unsigned int entryCount;
00030
00031 IdEntry * entries;
00032 } IdTable;
00033
00044 extern int id_table_create (IdTable * table, unsigned int size);
00053 extern void id_table_destroy (IdTable * table);
00054
00065 extern int id_table_insert (IdTable * table, void * data);
00076 extern void * id_table_remove (IdTable * table, int id);
00077
00088 extern void * id_table_find (IdTable * table, int id);
00089
00090 #endif
00091