dfuzzer
fuzz.h
Go to the documentation of this file.
1 
2 /*
3  * dfuzzer - tool for fuzz testing processes communicating through D-Bus.
4  *
5  * Copyright(C) 2013, Red Hat, Inc., Matus Marhefka <mmarhefk@redhat.com>
6  * Miroslav Vadkerti <mvadkert@redhat.com>
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  */
21 #ifndef FUZZ_H
22 #define FUZZ_H
23 
25 #define MAXSIG 255
26 
28 #define MAXFMT MAXSIG * 2
29 
31 #define MAXLINE 1024
32 
35 #define MAX_EXCEPTIONS 10
36 
37 
42 struct df_signature {
44  char *sig;
46  GVariant *var;
48  struct df_signature *next;
49 };
50 
52 struct df_sig_list {
56  int args;
60  struct df_signature *list;
61 };
62 
63 
72 inline int df_ewrite(int fd, const void *buf, size_t count);
73 
86 int df_fuzz_init(GDBusProxy *dproxy, const int statfd,
87  const int pid, const long mem_limit);
88 
95 int df_fuzz_add_method(const char *name);
96 
104 int df_fuzz_add_method_arg(const char *signature);
105 
109 int df_list_args_count(void);
110 
127 int df_fuzz_test_method(const int statfd, long buf_size, const char *name,
128  const char *obj, const char *intf, const int pid,
129  const int void_method, const char *execute_cmd);
130 
136 void df_fuzz_clean_method(void);
137 
138 #endif
int df_ewrite(int fd, const void *buf, size_t count)
Definition: fuzz.c:81
int df_fuzz_add_method(const char *name)
Definition: fuzz.c:151
int df_fuzz_add_method_arg(const char *signature)
Definition: fuzz.c:181
int df_list_args_count(void)
Definition: fuzz.c:222
int df_fuzz_test_method(const int statfd, long buf_size, const char *name, const char *obj, const char *intf, const int pid, const int void_method, const char *execute_cmd)
Definition: fuzz.c:510
void df_fuzz_clean_method(void)
Definition: fuzz.c:1053
int df_fuzz_init(GDBusProxy *dproxy, const int statfd, const int pid, const long mem_limit)
Definition: fuzz.c:112
Definition: fuzz.h:52
struct df_signature * list
Definition: fuzz.h:60
char * df_method_name
Definition: fuzz.h:54
int fuzz_on_str_len
Definition: fuzz.h:58
int args
Definition: fuzz.h:56
Definition: fuzz.h:42
struct df_signature * next
Definition: fuzz.h:48
GVariant * var
Definition: fuzz.h:46
char * sig
Definition: fuzz.h:44