2 * Hyper Operating System Application Framework
5 * @brief %jp{連想バッファクラス}
7 * Copyright (C) 2006 by Project HOS
8 * http://sourceforge.jp/projects/hos/
12 #ifndef __HOS__assoc_h__
13 #define __HOS__assoc_h__
16 #include "library/container/list/list.h"
18 #define ASSOC_ERR_OK 0
19 #define ASSOC_ERR_NG (-1)
21 typedef void* ASSOC_POS;
22 typedef int ASSOC_ERR;
25 typedef struct c_assocbuf
27 C_LIST List; /* とりあえず手抜き(そのうちB-Treeとかに....) */
37 void Assoc_Create(C_ASSOC *self); /* 連想バッファの生成 */
38 void Assoc_CreateEx(C_ASSOC *self, C_MEMIF *pMemIf); /* 連想バッファの生成 */
39 void Assoc_Delete(C_ASSOC *self); /* 連想バッファの削除 */
42 ASSOC_ERR Assoc_Add(C_ASSOC *self, const char *pszKey, const void *pData, long lSize); /* データの登録 */
43 const void *Assoc_Get(C_ASSOC *self, const char *pszKey); /* データの参照 */
44 ASSOC_ERR Assoc_Remove(C_ASSOC *self, const char *pszKey); /* データの削除 */
47 ASSOC_POS Assoc_GetFirst(C_ASSOC *self);
48 ASSOC_POS Assoc_GetNext(C_ASSOC *self, ASSOC_POS *Pos);
49 const void *Assoc_GetAt(C_ASSOC *self, ASSOC_POS *Pos, const char **ppszKey);
57 #endif /* __HOS__assocbuf_h__ */