Mercurial > dropbear
annotate fuzz-wrapfd.h @ 1744:6cf465af5d9f fuzz
Allocate real file descriptors for fuzz input with dup()
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sun, 18 Oct 2020 22:52:24 +0800 |
parents | dfbe947bdf0d |
children | 97ad26e397a5 |
rev | line source |
---|---|
1356
3677a510f545
add wrapfd. improve fuzzer in makefile
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
1 #ifndef FUZZ_WRAPFD_H |
3677a510f545
add wrapfd. improve fuzzer in makefile
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
2 #define FUZZ_WRAPFD_H |
3677a510f545
add wrapfd. improve fuzzer in makefile
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
3 |
3677a510f545
add wrapfd. improve fuzzer in makefile
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
4 #include "buffer.h" |
3677a510f545
add wrapfd. improve fuzzer in makefile
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
5 |
3677a510f545
add wrapfd. improve fuzzer in makefile
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
6 enum wrapfd_mode { |
3677a510f545
add wrapfd. improve fuzzer in makefile
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
7 UNUSED = 0, |
1740
dfbe947bdf0d
Make wrapfd share a common buffer for all FDs
Matt Johnston <matt@ucc.asn.au>
parents:
1575
diff
changeset
|
8 COMMONBUF, // using the common buffer |
1356
3677a510f545
add wrapfd. improve fuzzer in makefile
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
9 }; |
3677a510f545
add wrapfd. improve fuzzer in makefile
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
10 |
1740
dfbe947bdf0d
Make wrapfd share a common buffer for all FDs
Matt Johnston <matt@ucc.asn.au>
parents:
1575
diff
changeset
|
11 // buf is a common buffer read by all wrapped FDs. doesn't take ownership of buf |
dfbe947bdf0d
Make wrapfd share a common buffer for all FDs
Matt Johnston <matt@ucc.asn.au>
parents:
1575
diff
changeset
|
12 void wrapfd_setup(buffer *buf); |
1377
d4cc85e6c569
rearrange, all fuzzers now call fuzzer_set_input()
Matt Johnston <matt@ucc.asn.au>
parents:
1360
diff
changeset
|
13 void wrapfd_setseed(uint32_t seed); |
1740
dfbe947bdf0d
Make wrapfd share a common buffer for all FDs
Matt Johnston <matt@ucc.asn.au>
parents:
1575
diff
changeset
|
14 int wrapfd_new(); |
1356
3677a510f545
add wrapfd. improve fuzzer in makefile
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
15 |
1357 | 16 // called via #defines for read/write/select |
17 int wrapfd_read(int fd, void *out, size_t count); | |
18 int wrapfd_write(int fd, const void* in, size_t count); | |
19 int wrapfd_select(int nfds, fd_set *readfds, fd_set *writefds, | |
20 fd_set *exceptfds, struct timeval *timeout); | |
1360
16f45f2df38f
ignore wrapfd_close for unknown
Matt Johnston <matt@ucc.asn.au>
parents:
1357
diff
changeset
|
21 int wrapfd_close(int fd); |
1357 | 22 |
1356
3677a510f545
add wrapfd. improve fuzzer in makefile
Matt Johnston <matt@ucc.asn.au>
parents:
diff
changeset
|
23 #endif // FUZZ_WRAPFD_H |