1 /* @(#) $Id: ./src/headers/store_op.h, 2011/09/08 dcid Exp $
4 /* Copyright (C) 2009 Trend Micro Inc.
7 * This program is a free software; you can redistribute it
8 * and/or modify it under the terms of the GNU General Public
9 * License (version 2) as published by the FSF - Free Software
20 typedef struct _OSStoreNode
22 struct _OSStoreNode *next;
23 struct _OSStoreNode *prev;
30 typedef struct _OSStore
32 OSStoreNode *first_node;
33 OSStoreNode *last_node;
34 OSStoreNode *cur_node;
39 void (*free_data_function)(void *data);
43 OSStore *OSStore_Create();
44 OSStore *OSStore_Free(OSStore *list);
46 int OSStore_Put(OSStore *list, char *key, void *data);
47 int OSStore_Check(OSStore *list, char *key);
48 int OSStore_NCheck(OSStore *list, char *key);
49 int OSStore_NCaseCheck(OSStore *list, char *key);
50 int OSStore_GetPosition(OSStore *list, char *key);
51 void *OSStore_Get(OSStore *list, char *key);
52 OSStoreNode *OSStore_GetFirstNode(OSStore *list);
53 int OSStore_Sort(OSStore *list, void*(sort_data_function)(void *d1, void *d2));