-/* @(#) $Id: ./src/analysisd/lists.h, 2011/09/08 dcid Exp $
- */
-
/* Copyright (C) 2009 Trend Micro Inc.
* All right reserved.
*
* Foundation
*/
-
/* Rules are needed for lists */
+#ifndef __LISTS_H
+#define __LISTS_H
+
#include "cdb/cdb.h"
#include "cdb/uint32.h"
#define LR_ADDRESS_NOT_MATCH 11
#define LR_ADDRESS_MATCH_VALUE 12
-
-typedef struct ListNode
-{
+typedef struct ListNode {
int loaded;
char *cdb_filename;
char *txt_filename;
struct cdb cdb;
struct ListNode *next;
-}ListNode;
+} ListNode;
-typedef struct ListRule
-{
+typedef struct ListRule {
int loaded;
int field;
int lookup_type;
char *filename;
ListNode *db;
struct ListRule *next;
-}ListRule;
+} ListRule;
+
+/* Create the rule list */
+void OS_CreateListsList(void);
-/* create the rule list */
-void OS_CreateListsList();
/* Add rule information to the list */
int OS_AddList( ListNode *new_listnode );
+
int Lists_OP_LoadList(char *listfile);
+
int OS_DBSearchKey(ListRule *lrule, char *key);
+
int OS_DBSearch(ListRule *lrule, char *key);
-void OS_ListLoadRules();
+
+void OS_ListLoadRules(void);
+
ListRule *OS_AddListRule(ListRule *first_rule_list, int lookup_type, int field, char *listname, OSMatch *matcher);
-ListNode *OS_GetFirstList();
-ListNode *OS_FindList(char *listname);
+
+ListNode *OS_GetFirstList(void);
+
+ListNode *OS_FindList(const char *listname);
+
+void Lists_OP_CreateLists(void);
+
+#endif /* __LISTS_H */
+