File: data.h

package info (click to toggle)
nessus-libraries 2.2.10-3
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 2,884 kB
  • ctags: 2,550
  • sloc: ansic: 21,402; sh: 8,231; makefile: 421; yacc: 234; lex: 203
file content (79 lines) | stat: -rw-r--r-- 1,848 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#ifndef __NESSUS_DATA_H__
#define __NESSUS_DATA_H__



#define DATA_INT    1
#define DATA_STR    2
#define DATA_BLOB   3
#define DATA_PTR    4
#define DATA_DATA   5





struct elem {
	char * name;
	int size;
	int type;
	union {
	  int v_int;
	  char* v_str;
	  unsigned char* v_blob;
	  void* v_ptr;
	  struct data * v_data;
	  }v;
	struct elem * next;
};


struct data {
	struct elem * list;
	
	int walktype;
	struct elem * current;
};

struct data * data_init();
int data_add_str (struct data*, char*, char*);
int data_add_blob(struct data*, char*, u_char *, int);
int data_add_int (struct data*, char*, int);
int data_add_ptr (struct data*, char*, void*);
int data_add_data(struct data*, char*, struct data*);


int data_get_int (struct data*, char*, int*);
int data_get_str (struct data*, char*, char**);
int data_get_blob(struct data*, char*, u_char**);
int data_get_ptr (struct data*, char* , void**);
int data_get_data(struct data*, char*, struct data**);


int data_set_int(struct data*, char*, int);
int data_set_str(struct data*, char*, char*);
int data_set_blob(struct data*, char*, u_char*, int);
int data_set_ptr(struct data*, char*, void*);
int data_set_data(struct data*, char*, struct data*);

int data_addset_int(struct data*, char*, int);
int data_addset_str(struct data*, char*, char*);
int data_addset_blob(struct data*, char*, u_char*, int);
int data_addset_ptr(struct data*, char*, void*);
int data_addset_data(struct data*, char*, struct data*);

int data_get_size(struct data*, char*, int*);
int data_get_type(struct data*, char*, int*);

int data_free(struct data*);
int data_free_all(struct data*);

int data_walk_init(struct data*);
int data_walk_next_str(struct data*, char **, char**);
int data_walk_next_int(struct data*, char**, int *);


struct data * data_copy(struct data *);
int data_dump(struct data*);

#endif