10 #define RZ_API static inline
11 #include "../debug/p/bfvm.h"
12 #include "../debug/p/bfvm.c"
22 #define RzIOBFDBG_FD(x) (((RzIOBfdbg *)(x)->data)->fd)
23 #define RzIOBFDBG_SZ(x) (((RzIOBfdbg *)(x)->data)->size)
24 #define RzIOBFDBG_BUF(x) (((RzIOBfdbg *)(x)->data)->buf)
27 return (
off >=
c->screen && off < c->screen +
c->screen_size);
31 return (
off >=
c->input && off < c->
input +
c->input_size);
35 return (
off >=
c->base && off < c->base +
c->size);
41 if (!
fd || !
fd->data) {
87 if (!
fd || !
fd->data) {
132 if (!
fd || !
fd->data) {
152 return (!strncmp(
pathname,
"bfdbg://", 8));
156 return 0xffff & (
int)(
size_t)
mal->buf;
176 if (!
out || rlen < 1) {
199 .desc =
"Attach to brainfuck Debugger instance",
210 #ifndef RZ_PLUGIN_INCORE
RZ_API BfvmCPU * bfvm_new(RzIOBind *iob)
RZ_API BfvmCPU * bfvm_free(BfvmCPU *c)
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 is_in_screen(ut64 off, BfvmCPU *c)
static int __read(RzIO *io, RzIODesc *fd, ut8 *buf, int count)
static bool __plugin_open(RzIO *io, const char *pathname, bool many)
static RzIODesc * __open(RzIO *io, const char *pathname, int rw, int mode)
RZ_API RzLibStruct rizin_plugin
RzIOPlugin rz_io_plugin_bfdbg
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 is_in_base(ut64 off, BfvmCPU *c)
static int __close(RzIODesc *fd)
static int getmalfd(RzIOBfdbg *mal)
static int is_in_input(ut64 off, BfvmCPU *c)
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
void * malloc(size_t size)
static static fork const void static count static fd const char const char static newpath char char char static envp time_t static t const char static mode static whence const char static dir time_t static t unsigned static seconds const char struct utimbuf static buf static inc static sig const char pathname
RZ_API RZ_OWN char * rz_file_slurp(const char *str, RZ_NULLABLE size_t *usz)
RZ_API RzIODesc * rz_io_desc_new(RzIO *io, RzIOPlugin *plugin, const char *uri, int flags, int mode, void *data)
RZ_API void rz_io_bind(RzIO *io, RzIOBind *bnd)
ut64(WINAPI *w32_GetEnabledXStateFeatures)()
static const z80_opcode fd[]
static bool input(void *ud, zip_uint8_t *data, zip_uint64_t length)