update to ida 7.6, add builds
This commit is contained in:
70
idasdk76/dbg/dbg_rpc_handler_ioctls.h
Normal file
70
idasdk76/dbg/dbg_rpc_handler_ioctls.h
Normal file
@@ -0,0 +1,70 @@
|
||||
#ifndef __DBG_RPC_HANDLER_IOCTLS__
|
||||
#define __DBG_RPC_HANDLER_IOCTLS__
|
||||
|
||||
// Note: the dbg_rpc_handler_t implementation will consider all
|
||||
// IOCTL IDs >= 0x01000000 as being server IOCTLs, and those will
|
||||
// consequently *not* be passed to the debugger module.
|
||||
#define MIN_SERVER_IOCTL 0x01000000
|
||||
|
||||
#define DWARF_RPCSRV_IOCTL_OK 0
|
||||
#define DWARF_RPCSRV_IOCTL_ERROR -1
|
||||
|
||||
enum rpcsrv_ioctl_t
|
||||
{
|
||||
// Get DWARF sections information.
|
||||
//
|
||||
// client->server
|
||||
// (unpacked) char * : file_path (on the server's disk.)
|
||||
// (packed) uint32 : processor ID (as in: ph.id)
|
||||
// server->client
|
||||
// (unpacked) byte : DWARF info found
|
||||
// (packed) uint32 : is_64 (0 - no, !=0 - yes)
|
||||
// (packed) uint32 : is_msb (0 - no, !=0 - yes)
|
||||
// (packed) uint64 : declared load address
|
||||
// (packed) uint32 : number of DWARF section infos.
|
||||
// (packed) sec info : DWARF section info, N times.
|
||||
// Returns: 0 - ok
|
||||
// !=0 - error (text in output buffer.)
|
||||
//
|
||||
// The structure of a "sec info" is:
|
||||
// (packed) uint64 address_in_memory
|
||||
// (packed) uint64 size (in bytes)
|
||||
// (packed) uint16 section_index
|
||||
// (unpacked) char * section_name
|
||||
rpcsrv_ioctl_dwarf_secinfo = MIN_SERVER_IOCTL + 1,
|
||||
|
||||
// Get DWARF section data.
|
||||
//
|
||||
// client->server
|
||||
// (unpacked) char * : file_path (on the server's disk.)
|
||||
// (packed) uint32 : processor ID (as in: ph.id)
|
||||
// (packed) uint16 : DWARF section index (as returned by 'rpcsrv_ioctl_dwarf_secinfo')
|
||||
// server->client
|
||||
// (unpacked) byte * : DWARF section data.
|
||||
// Returns: 0 - ok
|
||||
// !=0 - error
|
||||
rpcsrv_ioctl_dwarf_secdata,
|
||||
|
||||
#if defined(TESTABLE_BUILD)
|
||||
// Set path to look for ELF/DWARF companion files, per-PID
|
||||
//
|
||||
// This is strictly meant for testing, where tests can store
|
||||
// files in unusual places on the leasing debug server's volume.
|
||||
//
|
||||
// client->server
|
||||
// (packed) uint32 : the PID
|
||||
// (unpacked) char * : directory path (on the server's disk.)
|
||||
// server->client
|
||||
// Nothing
|
||||
// Returns: 0 - ok
|
||||
// != 0 - error
|
||||
rpcsrv_ioctl_set_elf_debug_file_directory_for_pid = 2 * MIN_SERVER_IOCTL + 1,
|
||||
#endif
|
||||
};
|
||||
|
||||
#if defined(TESTABLE_BUILD) && defined(__LINUX__)
|
||||
void set_elf_debug_file_directory_for_pid(int pid, const char *path);
|
||||
const char *get_elf_debug_file_directory_for_pid(int pid);
|
||||
#endif
|
||||
|
||||
#endif // __DBG_RPC_HANDLER_IOCTLS__
|
||||
Reference in New Issue
Block a user