50 return (!strncmp(
file,
"winkd://", 8));
61 if (strchr(
file + 8,
':')) {
68 eprintf(
"Error: Invalid WinDBG path\n");
74 eprintf(
"Error: Could not open the %s\n", iob->
name);
81 eprintf(
"Error: Could not create io_desc_t\n");
87 eprintf(
"Failed to initialize winkd context\n");
104 ctx->windctx.user =
c;
150 .desc =
"Attach to a KD debugger",
162 #ifndef RZ_PLUGIN_INCORE
const lzma_allocator const uint8_t * in
const lzma_allocator const uint8_t size_t uint8_t * out
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags static arg static fd static protocol static who struct sockaddr static addrlen static backlog struct timeval struct timezone static tz const struct iovec static count static mode const void const struct sockaddr static tolen const char static pathname void count
RZ_API void Ht_() free(HtName_(Ht) *ht)
static int read_at_phys(void *user, ut64 address, ut8 *buf, int len)
static int __read(RzIO *io, RzIODesc *fd, ut8 *buf, int count)
static int op_at_phys(void *user, ut64 address, const ut8 *in, ut8 *out, int len, bool write)
static bool __plugin_open(RzIO *io, const char *file, bool many)
static int read_at_kernel_virtual(void *user, ut64 address, ut8 *buf, int len)
RZ_API RzLibStruct rizin_plugin
static int write_at_phys(void *user, ut64 address, const ut8 *buf, int len)
static RzIODesc * __open(RzIO *io, const char *file, int rw, int mode)
static int __write(RzIO *io, RzIODesc *fd, const ut8 *buf, int count)
static ut64 __lseek(RzIO *io, RzIODesc *fd, ut64 offset, int whence)
static int __close(RzIODesc *fd)
RzIOPlugin rz_io_plugin_winkd
RZ_API RzIODesc * rz_io_desc_new(RzIO *io, RzIOPlugin *plugin, const char *uri, int flags, int mode, void *data)
void *(* open)(const char *path)
io_desc_t * io_desc_new(io_backend_t *iob, void *fp)
ut64(WINAPI *w32_GetEnabledXStateFeatures)()
int winkd_write_at_uva(RZ_BORROW RZ_NONNULL WindCtx *ctx, ut64 address, RZ_BORROW RZ_NONNULL RZ_IN const ut8 *buf, int count)
int winkd_write_at(RZ_BORROW RZ_NONNULL KdCtx *ctx, const ut64 offset, RZ_BORROW RZ_NONNULL RZ_IN const ut8 *buf, const int count)
ut32 winkd_get_target(RZ_BORROW RZ_NONNULL WindCtx *ctx)
int winkd_write_at_phys(RZ_BORROW RZ_NONNULL KdCtx *ctx, const ut64 offset, RZ_BORROW RZ_NONNULL RZ_IN const ut8 *buf, const int count)
int winkd_read_at(RZ_BORROW RZ_NONNULL KdCtx *ctx, const ut64 offset, RZ_BORROW RZ_NONNULL RZ_OUT ut8 *buf, const int count)
void winkd_kdctx_free(RZ_OWN KdCtx **ctx)
int winkd_read_at_uva(RZ_BORROW RZ_NONNULL WindCtx *ctx, ut64 address, RZ_BORROW RZ_NONNULL RZ_OUT ut8 *buf, int count)
int winkd_read_at_phys(RZ_BORROW RZ_NONNULL KdCtx *ctx, const ut64 offset, RZ_BORROW RZ_NONNULL RZ_OUT ut8 *buf, const int count)
KdCtx * winkd_kdctx_new(RZ_BORROW RZ_NONNULL io_desc_t *desc)
static const z80_opcode fd[]