1 /* radare2 - LGPL - Copyright 2015-2020 - pancake */
2 
3 #ifndef R2_BIND_H
4 #define R2_BIND_H
5 
6 // TODO: move riobind here too?
7 // TODO: move rprint here too
8 
9 typedef int (*RCoreCmd)(void *core, const char *cmd);
10 typedef int (*RCoreCmdF)(void *user, const char *fmt, ...);
11 typedef int (*RCoreDebugBpHit)(void *core, void *bp);
12 typedef void (*RCoreDebugSyscallHit)(void *core);
13 typedef char* (*RCoreCmdStr)(void *core, const char *cmd);
14 typedef char* (*RCoreCmdStrF)(void *core, const char *cmd, ...);
15 typedef void (*RCorePuts)(const char *cmd);
16 typedef void (*RCoreSetArchBits)(void *core, const char *arch, int bits);
17 typedef bool (*RCoreIsMapped)(void *core, ut64 addr, int perm);
18 typedef bool (*RCoreDebugMapsSync)(void *core);
19 typedef const char *(*RCoreGetName)(void *core, ut64 off);
20 typedef char *(*RCoreGetNameDelta)(void *core, ut64 off);
21 typedef void (*RCoreSeekArchBits)(void *core, ut64 addr);
22 typedef int (*RCoreConfigGetI)(void *core, const char *key);
23 typedef const char *(*RCoreConfigGet)(void *core, const char *key);
24 typedef ut64 (*RCoreNumGet)(void *core, const char *str);
25 typedef void *(*RCorePJWithEncoding)(void *core);
26 
27 typedef struct r_core_bind_t {
28 	void *core;
29 	RCoreCmd cmd;
30 	RCoreCmdF cmdf;
31 	RCoreCmdStr cmdstr;
32 	RCoreCmdStrF cmdstrf;
33 	RCorePuts puts;
34 	RCoreDebugBpHit bphit;
35 	RCoreDebugSyscallHit syshit;
36 	RCoreSetArchBits setab;
37 	RCoreGetName getName;
38 	RCoreGetNameDelta getNameDelta;
39 	RCoreSeekArchBits archbits;
40 	RCoreConfigGetI cfggeti;
41 	RCoreConfigGet cfgGet;
42 	RCoreNumGet numGet;
43 	RCoreIsMapped isMapped;
44 	RCoreDebugMapsSync syncDebugMaps;
45 	RCorePJWithEncoding pjWithEncoding;
46 } RCoreBind;
47 
48 #endif
49