xref: /aosp_15_r20/system/nfc/src/fuzzers/rw/fuzz.h (revision 7eba2f3b06c51ae21384f6a4f14577b668a869b3)
1*7eba2f3bSAndroid Build Coastguard Worker #ifndef __FUZZ_H__
2*7eba2f3bSAndroid Build Coastguard Worker #define __FUZZ_H__
3*7eba2f3bSAndroid Build Coastguard Worker 
4*7eba2f3bSAndroid Build Coastguard Worker #include "fuzz_cmn.h"
5*7eba2f3bSAndroid Build Coastguard Worker #include "rw_int.h"
6*7eba2f3bSAndroid Build Coastguard Worker 
7*7eba2f3bSAndroid Build Coastguard Worker enum FuzzType_t {
8*7eba2f3bSAndroid Build Coastguard Worker   Fuzz_Type1,
9*7eba2f3bSAndroid Build Coastguard Worker   Fuzz_Type2,
10*7eba2f3bSAndroid Build Coastguard Worker   Fuzz_Type3,
11*7eba2f3bSAndroid Build Coastguard Worker   Fuzz_Type4,
12*7eba2f3bSAndroid Build Coastguard Worker   Fuzz_Type5,
13*7eba2f3bSAndroid Build Coastguard Worker   Fuzz_Mfc,
14*7eba2f3bSAndroid Build Coastguard Worker 
15*7eba2f3bSAndroid Build Coastguard Worker   Fuzz_TypeMax
16*7eba2f3bSAndroid Build Coastguard Worker };
17*7eba2f3bSAndroid Build Coastguard Worker 
18*7eba2f3bSAndroid Build Coastguard Worker extern "C" size_t LLVMFuzzerMutate(uint8_t* Data, size_t Size, size_t MaxSize);
19*7eba2f3bSAndroid Build Coastguard Worker 
20*7eba2f3bSAndroid Build Coastguard Worker extern tNFC_CONN_CBACK* rf_cback;
21*7eba2f3bSAndroid Build Coastguard Worker 
22*7eba2f3bSAndroid Build Coastguard Worker extern void rw_init();
23*7eba2f3bSAndroid Build Coastguard Worker 
24*7eba2f3bSAndroid Build Coastguard Worker #if 0
25*7eba2f3bSAndroid Build Coastguard Worker class Fuzz_Context
26*7eba2f3bSAndroid Build Coastguard Worker {
27*7eba2f3bSAndroid Build Coastguard Worker public:
28*7eba2f3bSAndroid Build Coastguard Worker   uint8_t                     SubType;
29*7eba2f3bSAndroid Build Coastguard Worker   const std::vector<bytes_t>  Data;
30*7eba2f3bSAndroid Build Coastguard Worker   std::unique_ptr<uint8_t[]>  ScratchPtr;
31*7eba2f3bSAndroid Build Coastguard Worker 
32*7eba2f3bSAndroid Build Coastguard Worker public:
33*7eba2f3bSAndroid Build Coastguard Worker   Fuzz_Context(uint8_t FuzzSubType, const std::vector<bytes_t>& Packets)
34*7eba2f3bSAndroid Build Coastguard Worker     : SubType(FuzzSubType)
35*7eba2f3bSAndroid Build Coastguard Worker     , Data(Packets)
36*7eba2f3bSAndroid Build Coastguard Worker   {
37*7eba2f3bSAndroid Build Coastguard Worker   }
38*7eba2f3bSAndroid Build Coastguard Worker 
39*7eba2f3bSAndroid Build Coastguard Worker   ~Fuzz_Context(){}
40*7eba2f3bSAndroid Build Coastguard Worker };
41*7eba2f3bSAndroid Build Coastguard Worker #endif
42*7eba2f3bSAndroid Build Coastguard Worker 
43*7eba2f3bSAndroid Build Coastguard Worker #endif
44