/usr/share/vala/vapi/r_debug.vapi is in radare2-vala 0.9.6-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | /* radare - LGPL - Copyright 2009-2012 pancake<nopcode.org> */
[Compact]
[CCode (cheader_filename="r_debug.h", cname="RDebug", free_function="r_debug_free", cprefix="r_debug_")]
public class Radare.RDebug {
public int arch;
public int bits;
public int pid;
public int tid;
public bool swstep;
public int steps;
public int newstate;
public int reason;
public int signum;
public RBreakpoint bp;
public RDebug(int hard);
/*
public int steps;
public int pid;
public int tid;
public bool swstep;
public int newstate;
//public RDebug.Trace *trace;
public RDebug.Trace trace;
public bool stop_all_threads;
public RReg reg;
public RAnal anal;
public RList<RDebug.Map> maps;
public RList<RDebug.Map> maps_user;
*/
public bool use(string plugin);
/* life cycle */
public bool attach(int pid);
public bool detach(int pid);
// TODO: add attribute to invert arraylen
//public bool startv(string[] argv); // XXX
public bool start(string cmd);
public RDebug.Reason stop_reason();
/* control flow */
[CCode (cname="r_debug_wait")]
public bool hold();
public bool is_dead();
public bool kill(int pid, int tid, int sig);
public bool kill_setup(int sig, int action); // XXX must be uint64 action
public bool select (int pid, int tid);
public bool step(int count);
public bool step_over(int count);
public bool @continue();
public bool continue_kill(int sig);
public bool continue_until(uint64 addr);
public bool continue_until_optype(int type, int over);
public bool continue_until_nontraced();
public bool continue_syscall(int syscall);
//public bool map_list(RDebug.Map map);
public bool map_dealloc (RDebug.Map map);
//public RList<RDebug.Map> map_list_new ();
//public void map_list_free (RList<RDebug.Map> maps);
public void map_list (uint64 addr, bool rad);
public RDebug.Map map_get (uint64 addr);
public RDebug.Map map_alloc (uint64 addr, int size);
public bool map_sync ();
public bool child_fork ();
public bool child_clone();
// TODO: public RList<RDebug.Frame> frames ();
public uint64 arg_get (int fast, int num);
public bool arg_set (int fast, int num, uint64 val);
public uint64 execute(uint8 *buf, int len, bool restore); // XXX: uint8
public int desc_open (string path);
public int desc_close (int fd);
public int desc_dup (int fd, int newfd);
public int desc_read (int fd, uint64 addr, int len);
public int desc_seek (int fd, uint64 addr);
public int desc_write (int fd, uint64 addr, int len);
public int desc_list (int rad);
//public bool mmu_alloc(uint64 size, out uint64 size);
//public bool mmu_free(uint64 addr);
public bool reg_sync(RReg.Type type, bool set);
public bool reg_list(int type, int size, bool rad); // TODO must be depreacted
//public bool reg_set(string name, uint64 num);
//public uint64 reg_get(string name);
public RList<RDebug.Pid> pids (int pid);
// must deprecate //
public int pid_list (int pid);
public int thread_list (int pid);
public void trace_reset ();
public int trace_pc ();
public void trace_at (string str);
//public RDebug.Tracepoint trace_get(uint64 addr);
public void trace_list(int mode);
//public RDebug.Tracepoint trace_add(uint64 addr, int size);
public bool trace_tag (int tag);
[CCode (cname="RDebugPid", free_function="r_debug_pid_free", cprefix="r_debug_pid_", unref_function="")]
public class Pid {
public int pid;
public int status;
public int runnable;
public string path;
// list for childs
// list for threads
//public struct Process *parent;
public Pid (string path, int pid, char status, uint64 pc);
}
// XXX cname=int must be deprecated by valaswig
[CCode (cname="int", cprefix="R_DBG_PROC_")]
public enum ProcessStatus {
STOP,
RUN,
SLEEP,
ZOMBIE,
DEAD
}
[CCode (cname="int", cprefix="R_DBG_REASON_")]
public enum Reason {
NEW_PID,
NEW_TID,
NEW_LIB,
EXIT_PID,
EXIT_TID,
EXIT_LIB,
TRAP,
ILL,
SIGNAL,
FPU,
BP,
UNKNOWN
}
[CCode (cname="RDebugFrame")]
public struct Frame {
uint64 addr;
int size;
}
[Compact]
[CCode (cname="RDebugMap", cprefix="r_debug_map_", free_function="r_debug_map_free")]
public class Map {
public string name;
public uint64 addr;
public uint64 addr_end;
public uint64 size;
public string file;
public int perm;
public int user;
//public Map(string name, uint64 addr, uint64 addr_end, int perm, int user);
}
[CCode (cname="RDebugTrace", free_function="", unref_function="")]
public class Trace {
RList<RDebug.Tracepoint> traces;
int count;
int enabled;
int tag;
int dup;
string addresses;
}
[Compact]
[CCode (cname="RDebugTracepoint", free_function="", unref_function="")]
public class Tracepoint {
uint64 addr;
uint64 tags;
int tag;
int size;
int count;
int times;
uint64 stamp;
}
//public int pid_add();
//public int pid_del();
//public int pid_add_thread();
//public int pid_del_thread();
//public Process pid_get(int pid); // XXX wrong api syntax 'get' is keyword
//public bool pid_set_status(ProcessStatus status);
}
|