#include <rz_io.h>
#include <rz_lib.h>
#include <rz_util.h>
#include <rz_cons.h>
#include "ar.h"
Go to the source code of this file.
|
static bool | rz_io_ar_plugin_open (RzIO *io, const char *file, bool many) |
|
static RzList * | rz_io_ar_open_many (RzIO *io, const char *file, int perm, int mode) |
|
static RzIODesc * | rz_io_ar_open (RzIO *io, const char *file, int perm, int mode) |
|
static ut64 | rz_io_ar_lseek (RzIO *io, RzIODesc *fd, ut64 offset, int whence) |
|
static int | rz_io_ar_read (RzIO *io, RzIODesc *fd, ut8 *buf, int count) |
|
static int | rz_io_ar_write (RzIO *io, RzIODesc *fd, const ut8 *buf, int count) |
|
static int | rz_io_ar_close (RzIODesc *fd) |
|
◆ rz_io_ar_close()
Definition at line 126 of file io_ar.c.
127 if (!
fd || !
fd->data) {
RZ_API void ar_close(RzArFp *f)
static const z80_opcode fd[]
References ar_close(), fd, and NULL.
◆ rz_io_ar_lseek()
Definition at line 90 of file io_ar.c.
#define rz_return_val_if_fail(expr, val)
ut64(WINAPI *w32_GetEnabledXStateFeatures)()
References RZARFP::end, fd, rz_io_t::off, RZ_MIN, rz_return_val_if_fail, SEEK_CUR, SEEK_END, SEEK_SET, RZARFP::start, and ut64().
◆ rz_io_ar_open()
Definition at line 56 of file io_ar.c.
63 const char *arname = strstr(uri,
"://");
69 char *
filename = strstr(arname,
"//");
RZ_API RzArFp * ar_open_file(const char *arname, int perm, const char *filename)
Open specific file withen a ar/lib file.
RZ_API void Ht_() free(HtName_(Ht) *ht)
RzIOPlugin rz_io_plugin_ar
return strdup("=SP r13\n" "=LR r14\n" "=PC r15\n" "=A0 r0\n" "=A1 r1\n" "=A2 r2\n" "=A3 r3\n" "=ZF zf\n" "=SF nf\n" "=OF vf\n" "=CF cf\n" "=SN or0\n" "gpr lr .32 56 0\n" "gpr pc .32 60 0\n" "gpr cpsr .32 64 0 ____tfiae_________________qvczn\n" "gpr or0 .32 68 0\n" "gpr tf .1 64.5 0 thumb\n" "gpr ef .1 64.9 0 endian\n" "gpr jf .1 64.24 0 java\n" "gpr qf .1 64.27 0 sticky_overflow\n" "gpr vf .1 64.28 0 overflow\n" "gpr cf .1 64.29 0 carry\n" "gpr zf .1 64.30 0 zero\n" "gpr nf .1 64.31 0 negative\n" "gpr itc .4 64.10 0 if_then_count\n" "gpr gef .4 64.16 0 great_or_equal\n" "gpr r0 .32 0 0\n" "gpr r1 .32 4 0\n" "gpr r2 .32 8 0\n" "gpr r3 .32 12 0\n" "gpr r4 .32 16 0\n" "gpr r5 .32 20 0\n" "gpr r6 .32 24 0\n" "gpr r7 .32 28 0\n" "gpr r8 .32 32 0\n" "gpr r9 .32 36 0\n" "gpr r10 .32 40 0\n" "gpr r11 .32 44 0\n" "gpr r12 .32 48 0\n" "gpr r13 .32 52 0\n" "gpr r14 .32 56 0\n" "gpr r15 .32 60 0\n" "gpr r16 .32 64 0\n" "gpr r17 .32 68 0\n")
RZ_API RzIODesc * rz_io_desc_new(RzIO *io, RzIOPlugin *plugin, const char *uri, int flags, int mode, void *data)
RZ_API int rz_sys_open_perms(int rizin_perms)
Convert rizin permissions (RZ_PERM_*) to posix permissions that can be passed to rz_sys_open .
References ar_open_file(), err, free(), rz_io_desc_t::name, NULL, rz_io_desc_new(), rz_io_plugin_ar, rz_return_val_if_fail, rz_sys_open_perms(), and strdup().
◆ rz_io_ar_open_many()
Definition at line 13 of file io_ar.c.
14 const char *arname = strstr(
file,
"://");
35 rz_list_foreach (
all, it, arfp) {
RZ_API RzList * ar_open_all(const char *arname, int perm)
Open specific file withen a ar/lib file.
RZ_API RZ_OWN RzList * rz_list_new(void)
Returns a new initialized RzList pointer (free method is not initialized)
RZ_API RZ_BORROW RzListIter * rz_list_append(RZ_NONNULL RzList *list, void *data)
Appends at the end of the list a new element.
RZ_API void rz_list_free(RZ_NONNULL RzList *list)
Empties the list and frees the list pointer.
#define RZ_LOG_ERROR(fmtstr,...)
RZ_API char * rz_str_newf(const char *fmt,...) RZ_PRINTF_CHECK(1
References test_group_name::all, ar_open_all(), rz_list_iter_t::data, desc, free(), RZARFP::name, NULL, rz_io_desc_new(), rz_io_plugin_ar, rz_list_append(), rz_list_free(), rz_list_new(), RZ_LOG_ERROR, rz_str_newf(), rz_sys_open_perms(), and strdup().
◆ rz_io_ar_plugin_open()
Definition at line 9 of file io_ar.c.
10 return !strncmp(
"ar://",
file, 5) || !strncmp(
"lib://",
file, 6);
◆ rz_io_ar_read()
Definition at line 112 of file io_ar.c.
113 if (!
fd || !
fd->data || !
buf) {
RZ_API int ar_read_at(RzArFp *f, ut64 off, void *buf, int count)
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
References ar_read_at(), count, fd, and rz_io_t::off.
◆ rz_io_ar_write()
◆ rizin_plugin
Initial value:
Definition at line 151 of file io_ar.c.
◆ rz_io_plugin_ar
Initial value:= {
.name = "ar",
.desc = "Open ar/lib files",
.license = "LGPL3",
.author = "xarkes",
.uris = "ar://,lib://",
}
static int rz_io_ar_read(RzIO *io, RzIODesc *fd, ut8 *buf, int count)
static int rz_io_ar_write(RzIO *io, RzIODesc *fd, const ut8 *buf, int count)
static bool rz_io_ar_plugin_open(RzIO *io, const char *file, bool many)
static RzList * rz_io_ar_open_many(RzIO *io, const char *file, int perm, int mode)
static RzIODesc * rz_io_ar_open(RzIO *io, const char *file, int perm, int mode)
static ut64 rz_io_ar_lseek(RzIO *io, RzIODesc *fd, ut64 offset, int whence)
static int rz_io_ar_close(RzIODesc *fd)
Definition at line 135 of file io_ar.c.
Referenced by rz_io_ar_open(), and rz_io_ar_open_many().