X-Git-Url: http://ftp.carnet.hr/pub/carnet-debian/scm?a=blobdiff_plain;f=src%2Fheaders%2Fstore_op.h;h=da77c414e70ab3d17d8e2fe066f6b8af2c44cb99;hb=HEAD;hp=73b6b17366e9cddfc2015284c8d4111185c3d74c;hpb=914feba5d54f979cd5d7e69c349c3d01f630042a;p=ossec-hids.git diff --git a/src/headers/store_op.h b/src/headers/store_op.h old mode 100755 new mode 100644 index 73b6b17..da77c41 --- a/src/headers/store_op.h +++ b/src/headers/store_op.h @@ -1,33 +1,28 @@ -/* @(#) $Id: store_op.h,v 1.8 2009/06/24 17:06:26 dcid Exp $ */ - /* Copyright (C) 2009 Trend Micro Inc. * All right reserved. * * This program is a free software; you can redistribute it * and/or modify it under the terms of the GNU General Public - * License (version 3) as published by the FSF - Free Software + * License (version 2) as published by the FSF - Free Software * Foundation */ /* Common list API */ - #ifndef _OS_STORE #define _OS_STORE /* Store node */ -typedef struct _OSStoreNode -{ +typedef struct _OSStoreNode { struct _OSStoreNode *next; struct _OSStoreNode *prev; void *data; char *key; - int key_size; -}OSStoreNode; + size_t key_size; +} OSStoreNode; /* Store list */ -typedef struct _OSStore -{ +typedef struct _OSStore { OSStoreNode *first_node; OSStoreNode *last_node; OSStoreNode *cur_node; @@ -36,23 +31,22 @@ typedef struct _OSStore int max_size; void (*free_data_function)(void *data); -}OSStore; +} OSStore; +OSStore *OSStore_Create(void); +OSStore *OSStore_Free(OSStore *list) __attribute__((nonnull)); -OSStore *OSStore_Create(); -OSStore *OSStore_Free(OSStore *list); - -int OSStore_Put(OSStore *list, char *key, void *data); -int OSStore_Check(OSStore *list, char *key); -int OSStore_NCheck(OSStore *list, char *key); -int OSStore_NCaseCheck(OSStore *list, char *key); -int OSStore_GetPosition(OSStore *list, char *key); -void *OSStore_Get(OSStore *list, char *key); -OSStoreNode *OSStore_GetFirstNode(OSStore *list); -int OSStore_Sort(OSStore *list, void*(sort_data_function)(void *d1, void *d2)); - +int OSStore_Put(OSStore *list, const char *key, void *data) __attribute__((nonnull(1, 2))); +int OSStore_Check(OSStore *list, const char *key) __attribute__((nonnull)); +int OSStore_NCheck(OSStore *list, const char *key) __attribute__((nonnull)); +int OSStore_NCaseCheck(OSStore *list, const char *key) __attribute__((nonnull)); +int OSStore_GetPosition(OSStore *list, const char *key) __attribute__((nonnull)); +void *OSStore_Get(OSStore *list, const char *key) __attribute__((nonnull)); +OSStoreNode *OSStore_GetFirstNode(OSStore *list) __attribute__((nonnull)); +int OSStore_Sort(OSStore *list, void *(sort_data_function)(void *d1, void *d2)) __attribute__((nonnull)); +int OSStore_SetMaxSize(OSStore *list, int max_size); +int OSStore_SetFreeDataPointer(OSStore *list, void (free_data_function)(void *)); #endif -/* EOF */