本文整理汇总了C++中R_NEW函数的典型用法代码示例。如果您正苦于以下问题:C++ R_NEW函数的具体用法?C++ R_NEW怎么用?C++ R_NEW使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了R_NEW函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: entries
static RList* entries(RBinArch *arch) {
RBinAddr *ptr;
RList *ret = r_list_new ();
if (!ret) return NULL;
ret->free = free;
if (!(ptr = R_NEW (RBinAddr)))
return ret;
memset (ptr, '\0', sizeof (RBinAddr));
ptr->offset = ptr->rva = r_bin_java_get_entrypoint (arch->bin_obj);
r_list_append (ret, ptr);
return ret;
}
开发者ID:0xroot,项目名称:radare2,代码行数:12,代码来源:bin_java.c
示例2: binsym
static RBinAddr* binsym(RBinFile *arch, int type) {
RBinAddr *ret = NULL;
switch (type) {
case R_BIN_SYM_MAIN:
if (!(ret = R_NEW (RBinAddr)))
return NULL;
memset (ret, '\0', sizeof (RBinAddr));
ret->offset = ret->rva = r_bin_te_get_main_offset (arch->o->bin_obj);
break;
}
return ret;
}
开发者ID:17twenty,项目名称:radare2,代码行数:12,代码来源:bin_te.c
示例3: R_NEW
R_API RAnalOp *r_anal_op_copy (RAnalOp *op) {
RAnalOp *nop = R_NEW (RAnalOp);
*nop = *op;
nop->mnemonic = strdup (op->mnemonic);
nop->src[0] = r_anal_value_copy (op->src[0]);
nop->src[1] = r_anal_value_copy (op->src[1]);
nop->src[2] = r_anal_value_copy (op->src[2]);
nop->dst = r_anal_value_copy (op->dst);
r_strbuf_init (&nop->esil);
r_strbuf_set (&nop->esil, r_strbuf_get (&op->esil));
return nop;
}
开发者ID:commiebstrd,项目名称:radare2,代码行数:12,代码来源:op.c
示例4: r_syscall_new
R_API RSyscall* r_syscall_new() {
RSyscall *rs = R_NEW (RSyscall);
if (rs) {
rs->fd = NULL;
rs->sysptr = NULL; //syscalls_linux_x86;
rs->sysport = sysport_x86;
rs->syspair = NULL;
rs->printf = (PrintfCallback)printf;
rs->regs = fastcall_x86;
}
return rs;
}
开发者ID:0xroot,项目名称:radare2,代码行数:12,代码来源:syscall.c
示例5: R_NEW
R_API struct r_th_lock_t *r_th_lock_new() {
RThreadLock *thl = R_NEW(RThreadLock);
if (thl) {
thl->refs = 0;
#if HAVE_PTHREAD
pthread_mutex_init (&thl->lock, NULL);
#elif __WIN32__
//thl->lock = CreateSemaphore(NULL, 0, 1, NULL);
InitializeCriticalSection(&thl->lock);
#endif
}
return thl;
}
开发者ID:ericfode,项目名称:radare2,代码行数:13,代码来源:lock.c
示例6: R_NEW
R_API RThreadLock *r_th_lock_new() {
RThreadLock *thl = R_NEW(RThreadLock);
if (thl) {
thl->refs = 0;
#if HAVE_PTHREAD
pthread_mutex_init (&thl->lock, NULL);
#elif __WIN32__ || __WINDOWS__ && !defined(__CYGWIN__)
//thl->lock = CreateSemaphore(NULL, 0, 1, NULL);
InitializeCriticalSection(&thl->lock);
#endif
}
return thl;
}
开发者ID:13572293130,项目名称:radare2,代码行数:13,代码来源:thread_lock.c
示例7: entries
static RList* entries(RBinFile *arch) {
RList* ret = r_list_new ();;
RBinAddr *ptr = NULL;
if (!ret) return NULL;
ret->free = free;
if (!memcmp (arch->buf+0x30, "\x00\x00\x00\x00\x20\x73\x74\x64\x6f\x75\x74\x20\x21\x55\x0c\xcd", 16)) {
if ((ptr = R_NEW (RBinAddr))) {
ptr->rva = ptr->offset = 0x9a;
r_list_append (ret, ptr);
}
}
return ret;
}
开发者ID:17twenty,项目名称:radare2,代码行数:13,代码来源:bin_rar.c
示例8: binsym
static RBinAddr* binsym(RBinArch *arch, int sym) {
ut64 addr;
RBinAddr *ret = NULL;
switch (sym) {
case R_BIN_SYM_MAIN:
addr = MACH0_(r_bin_mach0_get_main) (arch->bin_obj);
if (!addr || !(ret = R_NEW (RBinAddr)))
return NULL;
memset (ret, '\0', sizeof (RBinAddr));
ret->offset = ret->rva = addr;
break;
}
return ret;
}
开发者ID:ericfode,项目名称:radare2,代码行数:14,代码来源:bin_mach0.c
示例9: R_NEW
R_API RAnalOp *r_anal_op_new() {
RAnalOp *op = R_NEW (RAnalOp);
if (op) {
memset (op, 0, sizeof (RAnalOp));
op->mnemonic = NULL;
op->addr = -1;
op->jump = -1;
op->fail = -1;
op->ref = -1;
op->value = -1;
op->next = NULL;
}
return op;
}
开发者ID:glandium,项目名称:radare2,代码行数:14,代码来源:op.c
示例10: entries
static RList* entries(RBinArch *arch) {
RList *ret;
RBinAddr *ptr = NULL;
if (!(ret = r_list_new ()))
return NULL;
ret->free = free;
if (!(ptr = R_NEW (RBinAddr)))
return ret;
memset (ptr, '\0', sizeof (RBinAddr));
ptr->offset = ptr->rva = 0xffff0;
r_list_append (ret, ptr);
return ret;
}
开发者ID:eddyb,项目名称:radare2,代码行数:14,代码来源:bin_bios.c
示例11: r_strpool_new
R_API RStrpool* r_strpool_new (int sz) {
RStrpool *p = R_NEW (RStrpool);
if (!p) return NULL;
if (sz<1) sz = 1024;
p->size = sz;
p->len = 0;
p->str = malloc (sz);
if (!p->str) {
free (p);
return NULL;
}
p->str[0] = 0;
return p;
}
开发者ID:EliaGeretto,项目名称:radare2,代码行数:14,代码来源:strpool.c
示例12: lines
static RList* lines(RBinArch *arch) {
int i;
char *file = strdup (arch->file);
RList *list = r_list_new ();
RBinJavaObj *b = arch->bin_obj;
file = r_str_replace (file, ".class", ".java", 0);
for (i=0; i<b->lines.count; i++) {
RBinDwarfRow *row = R_NEW (RBinDwarfRow);
r_bin_dwarf_line_new (row, b->lines.addr[i], file, b->lines.line[i]);
r_list_append (list, row);
}
free (file);
return list;
}
开发者ID:0xroot,项目名称:radare2,代码行数:14,代码来源:bin_java.c
示例13: entries
static RList* entries(RBinFile *arch) {
RList* ret;
RBinAddr *ptr = NULL;
if (!(ret = r_list_new ()))
return NULL;
ret->free = free;
if ((ptr = R_NEW (RBinAddr))) {
ptr->paddr = 8*4;
ptr->vaddr = 8*4;// + baddr (arch);
r_list_append (ret, ptr);
}
return ret;
}
开发者ID:AnwarMohamed,项目名称:radare2,代码行数:14,代码来源:bin_p9.c
示例14: R_NEW
static RIODesc *w32__open(RIO *io, const char *pathname, int rw, int mode) {
if (!memcmp (pathname, "w32://", 6)) {
RIOW32 *w32 = R_NEW (RIOW32);
const char *filename= pathname+6;
w32->hnd = CreateFile (filename,
GENERIC_READ | rw?GENERIC_WRITE:0,
FILE_SHARE_READ | rw?FILE_SHARE_WRITE:0,
NULL, OPEN_ALWAYS, 0, NULL);
if (w32->hnd != INVALID_HANDLE_VALUE)
return r_io_desc_new (&r_io_plugin_w32, getw32fd (w32),
pathname, rw, mode, w32);
free (w32);
}
return NULL;
}
开发者ID:djpohly,项目名称:radare2,代码行数:15,代码来源:io_w32.c
示例15: R_NEW
R_API RAnalBlock *r_anal_bb_new() {
RAnalBlock *bb = R_NEW (RAnalBlock);
if (!bb) return NULL;
memset (bb, 0, sizeof (RAnalBlock));
bb->addr = -1;
bb->jump = -1;
bb->fail = -1;
bb->type = R_ANAL_BB_TYPE_NULL;
#if R_ANAL_BB_HAS_OPS
bb->ops = r_anal_op_list_new ();
#endif
bb->cond = NULL;
bb->fingerprint = NULL;
bb->diff = r_anal_diff_new ();
return bb;
}
开发者ID:BatchDrake,项目名称:radare2,代码行数:16,代码来源:bb.c
示例16: R_NEW
static RIODesc *shm__open(RIO *io, const char *pathname, int rw, int mode) {
if (!memcmp (pathname, "shm://", 6)) {
RIOShm *shm = R_NEW (RIOShm);
const char *ptr = pathname+6;
shm->id = getshmid (ptr);
shm->buf = shmat (shm->id, 0, 0);
shm->fd = getshmfd (shm);
shm->size = SHMATSZ;
if (shm->fd != -1) {
eprintf ("Connected to shared memory 0x%08x\n", shm->id);
return r_io_desc_new (&r_io_plugin_shm, shm->fd, pathname, rw, mode, shm);
}
eprintf ("Cannot connect to shared memory (%d)\n", shm->id);
free (shm);
}
return NULL;
}
开发者ID:BatchDrake,项目名称:radare2,代码行数:17,代码来源:io_shm.c
示例17: entries
static RList* entries(RBinFile *arch)
{
RList *ret = r_list_new ();
RBinAddr *ptr = NULL;
if (arch && arch->buf != NULL) {
if (!ret)
return NULL;
ret->free = free;
if (!(ptr = R_NEW (RBinAddr)))
return ret;
memset (ptr, '\0', sizeof (RBinAddr));
ptr->offset = ptr->rva = 0x100;
r_list_append (ret, ptr);
}
return ret;
}
开发者ID:17twenty,项目名称:radare2,代码行数:17,代码来源:bin_ningb.c
示例18: R_NEW
R_API RSocket *r_socket_new (int is_ssl) {
RSocket *s = R_NEW (RSocket);
s->is_ssl = is_ssl;
#if HAVE_LIB_SSL
if (is_ssl) {
s->sfd = NULL;
s->ctx = NULL;
s->bio = NULL;
if (!SSL_library_init ()) {
r_socket_free (s);
return NULL;
}
SSL_load_error_strings ();
}
#endif
return s;
}
开发者ID:moon2l,项目名称:radare2,代码行数:17,代码来源:socket.c
示例19: entries
static RList* entries(RBinFile *arch) {
RList* ret = r_list_new ();;
RBinAddr *ptr = NULL;
RRarBinObj *bin_obj = arch && arch->o ? arch->o->bin_obj : NULL;
const ut8 *buf = bin_obj ? r_buf_buffer (bin_obj->buf) : NULL;
ut64 sz = arch && bin_obj ? r_buf_size (bin_obj->buf) : 0;
if (!ret) return NULL;
ret->free = free;
if (bin_obj && sz > 0x30 && !memcmp (buf+0x30, RAR_CONST, 16)) {
if ((ptr = R_NEW (RBinAddr))) {
ptr->vaddr = ptr->paddr = 0x9a;
r_list_append (ret, ptr);
}
}
return ret;
}
开发者ID:8500616886,项目名称:radare2,代码行数:17,代码来源:bin_rar.c
示例20: R_NEW
static RIODesc *__open(struct r_io_t *io, const char *file, int rw, int mode) {
if (__plugin_open (io, file, 0)) {
char *pidpath;
RIOW32Dbg *dbg = R_NEW (RIOW32Dbg);
if (dbg == NULL)
return NULL;
dbg->pid = atoi (file+9);
if (__attach (dbg) == -1) {
free (dbg);
return NULL;
}
pidpath = r_sys_pid_to_path (dbg->pid);
RETURN_IO_DESC_NEW (&r_io_plugin_w32dbg, -1,
pidpath, rw | R_IO_EXEC, mode, dbg);
}
return NULL;
}
开发者ID:13572293130,项目名称:radare2,代码行数:17,代码来源:io_w32dbg.c
注:本文中的R_NEW函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论