Rizin
unix-like reverse engineering framework and cli tools
class_const_pool.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: 2021 deroad <wargio@libero.it>
2 // SPDX-License-Identifier: LGPL-3.0-only
3 
4 #ifndef RZ_BIN_JAVA_CLASS_CONSTANT_POOL_H
5 #define RZ_BIN_JAVA_CLASS_CONSTANT_POOL_H
6 #include <rz_types.h>
7 #include <rz_util.h>
8 #include <rz_bin.h>
9 
10 typedef enum {
11  CONSTANT_POOL_ZERO /* */ = 0,
12  CONSTANT_POOL_UTF8 /* */ = 1,
16  CONSTANT_POOL_LONG /* */ = 5,
30 } ConstPoolTag;
31 
32 typedef struct java_constant_pool_t {
38 
42 const char *java_constant_pool_tag_name(const ConstPool *cpool);
43 bool java_constant_pool_is_string(const ConstPool *cpool);
44 bool java_constant_pool_is_number(const ConstPool *cpool);
45 bool java_constant_pool_is_import(const ConstPool *cpool);
47 char *java_constant_pool_stringify(const ConstPool *cpool);
48 ut32 java_constant_pool_resolve(const ConstPool *cpool, ut16 *arg0, ut16 *arg1);
49 
50 #endif /* RZ_BIN_JAVA_CLASS_CONSTANT_POOL_H */
bool java_constant_pool_requires_null(const ConstPool *cpool)
bool java_constant_pool_is_string(const ConstPool *cpool)
void java_constant_pool_free(ConstPool *cpool)
ut32 java_constant_pool_resolve(const ConstPool *cpool, ut16 *arg0, ut16 *arg1)
char * java_constant_pool_stringify(const ConstPool *cpool)
const char * java_constant_pool_tag_name(const ConstPool *cpool)
ConstPool * java_constant_pool_new(RzBuffer *buf, ut64 offset)
struct java_constant_pool_t ConstPool
ConstPool * java_constant_null_new(ut64 offset)
ConstPoolTag
@ CONSTANT_POOL_PACKAGE
@ CONSTANT_POOL_MODULE
@ CONSTANT_POOL_FIELDREF
@ CONSTANT_POOL_METHODHANDLE
@ CONSTANT_POOL_FLOAT
@ CONSTANT_POOL_ZERO
@ CONSTANT_POOL_METHODREF
@ CONSTANT_POOL_INTERFACEMETHODREF
@ CONSTANT_POOL_LONG
@ CONSTANT_POOL_METHODTYPE
@ CONSTANT_POOL_NAMEANDTYPE
@ CONSTANT_POOL_DYNAMIC
@ CONSTANT_POOL_INVOKEDYNAMIC
@ CONSTANT_POOL_UNICODE
@ CONSTANT_POOL_INTEGER
@ CONSTANT_POOL_CLASS
@ CONSTANT_POOL_DOUBLE
@ CONSTANT_POOL_UTF8
@ CONSTANT_POOL_STRING
bool java_constant_pool_is_number(const ConstPool *cpool)
bool java_constant_pool_is_import(const ConstPool *cpool)
uint16_t ut16
uint32_t ut32
voidpf uLong offset
Definition: ioapi.h:144
voidpf void * buf
Definition: ioapi.h:138
uint8_t ut8
Definition: lh5801.h:11
ut64(WINAPI *w32_GetEnabledXStateFeatures)()