diff --git a/libr/include/r_types.h b/libr/include/r_types.h index fcdf165862..e7759e4ef7 100644 --- a/libr/include/r_types.h +++ b/libr/include/r_types.h @@ -2,7 +2,7 @@ #define _INCLUDE_R_TYPES_H_ #include -#include +#include /* provide a per-module debug-enabled feature */ #if R_DEBUG @@ -49,16 +49,16 @@ #define BITS2BYTES(x) ((x/8)+((x%8)?1:0)) -#define ut64 unsigned long long -#define st64 long long -#define ut32 unsigned int -#define st32 int -#define ut16 unsigned short -#define ut8 unsigned char -#define st8 char - -#define R_TRUE 1 -#define R_FALSE 0 +/* types */ +#undef _FILE_OFFSET_BITS +#define _FILE_OFFSET_BITS 64 +#undef _GNU_SOURCE +#define _GNU_SOURCE +// do we really need those undefs? +//#undef _XOPEN_SOURCE +//#define _XOPEN_SOURCE +//#undef _POSIX_C_SOURCE +//#define _POSIX_C_SOURCE /* allocating */ #include @@ -80,6 +80,40 @@ static inline int ERR(char *str, ...) #define IS_PRINTABLE(x) (x>=' '&&x<='~') #define IS_WHITESPACE(x) (x==' '||x=='\t') +/* operating system */ + +#undef __BSD__ +#undef __UNIX__ +#undef __WINDOWS__ + +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) + #define __BSD__ 1 +#endif + +#if __WIN32__ || __CYGWIN__ || MINGW32 + #define __addr_t_defined + #include + #ifdef USE_SOCKETS + #include + #undef USE_SOCKETS +#endif + + #define __WINDOWS__ 1 +#else + #define __UNIX__ 1 +#endif + +#include +#include +#include +#include +#if __UNIX__ +#include +#include +#include +#endif +#include + /* Move outside */ #define _perror(str,file,line) \ { char buf[128];sprintf(buf, "%s:%d %s", file,line,str);perror(buf); } @@ -87,26 +121,10 @@ static inline int ERR(char *str, ...) #define eprintf(x,y...) fprintf(stderr,x,##y) -/* limits */ -#define UT64_MAX 0xFFFFFFFFFFFFFFFFLL -#define UT64_GT0 0x8000000000000000LL -#define UT64_LT0 0x7FFFFFFFFFFFFFFFLL -#define UT64_MIN 0LL -#define UT64_32U 0xFFFFFFFF00000000LL -#define UT32_MIN 0 -#define UT32_GT0 0x80000000 -#define UT32_LT0 0x7FFFFFFF -#define UT32_MAX 0xFFFFFFFF - #define R_MAX(x,y) (x>y)?x:y #define R_MIN(x,y) (x>y)?y:x #define R_ABS(x) ((x<0)?-x:x) -#define R_FAIL -1 -#define R_FALSE 0 -#define R_TRUE 1 -#define R_TRUFAE 2 - #define R_FREE(x) { free(x); x = NULL; } #if __WINDOWS__ @@ -115,13 +133,11 @@ static inline int ERR(char *str, ...) #define HAVE_REGEXP 1 #endif -#if 0 /* hacks for vala-list.h interaction */ #define list_entry_vala(pos, type, member) ((type)((char*)pos-(unsigned long)(&((type)0)->member))) #define ralist_iterator(x) x->next #define ralist_get(x,y) list_entry_vala(x, y, list); x=x->next #define ralist_next(x) (x=x->next, (x != head)) #define ralist_free(x) (x) -#endif #endif diff --git a/libr/include/r_types_base.h b/libr/include/r_types_base.h new file mode 100644 index 0000000000..218d5cb9b2 --- /dev/null +++ b/libr/include/r_types_base.h @@ -0,0 +1,28 @@ +#ifndef _INCLUDE_R_TYPES_BASE_H_ +#define _INCLUDE_R_TYPES_BASE_H_ + +#define ut64 unsigned long long +#define st64 long long +#define ut32 unsigned int +#define st32 int +#define ut16 unsigned short +#define ut8 unsigned char +#define st8 char + +#define R_FAIL -1 +#define R_FALSE 0 +#define R_TRUE 1 +#define R_TRUFAE 2 + +/* limits */ +#define UT64_MAX 0xFFFFFFFFFFFFFFFFLL +#define UT64_GT0 0x8000000000000000LL +#define UT64_LT0 0x7FFFFFFFFFFFFFFFLL +#define UT64_MIN 0LL +#define UT64_32U 0xFFFFFFFF00000000LL +#define UT32_MIN 0 +#define UT32_GT0 0x80000000 +#define UT32_LT0 0x7FFFFFFF +#define UT32_MAX 0xFFFFFFFF + +#endif diff --git a/libr/include/r_types_os.h b/libr/include/r_types_os.h deleted file mode 100644 index 74571308a7..0000000000 --- a/libr/include/r_types_os.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef _INCLUDE_R_TYPES_OS_H_ -#define _INCLUDE_R_TYPES_OS_H_ - -/* types */ -#undef _FILE_OFFSET_BITS -#define _FILE_OFFSET_BITS 64 -#undef _GNU_SOURCE -#define _GNU_SOURCE -// do we really need those undefs? -//#undef _XOPEN_SOURCE -//#define _XOPEN_SOURCE -//#undef _POSIX_C_SOURCE -//#define _POSIX_C_SOURCE - -/* operating system */ -#undef __BSD__ -#undef __UNIX__ -#undef __WINDOWS__ - -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) - #define __BSD__ 1 -#endif - -#if __WIN32__ || __CYGWIN__ || MINGW32 - #define __addr_t_defined - #include - #ifdef USE_SOCKETS - #include - #undef USE_SOCKETS - #endif - #define __WINDOWS__ 1 -#else - #define __UNIX__ 1 -#endif - -#include -#include -#include -#include -#if __UNIX__ -#include -#include -#include -#endif -#include - -#endif diff --git a/libr/vapi/libr.deps b/libr/vapi/libr.deps index fcb3c10141..e190799b12 100644 --- a/libr/vapi/libr.deps +++ b/libr/vapi/libr.deps @@ -1,4 +1,5 @@ r_asm +r_bin r_config r_core r_line @@ -12,4 +13,3 @@ r_diff r_lib r_search r_syscall -r_bin diff --git a/libr/vapi/r_bin.vapi b/libr/vapi/r_bin.vapi index bdc5595f14..5ab89d7d34 100644 --- a/libr/vapi/r_bin.vapi +++ b/libr/vapi/r_bin.vapi @@ -1,6 +1,6 @@ /* radare - LGPL - Copyright 2009 nibble<.ds@gmail.com> */ -[CCode (cheader_filename="r_bin.h,r_flist.h,r_types.h", cprefix="r_bin_", lower_case_cprefix="r_bin_")] +[CCode (cheader_filename="r_bin.h,r_flist.h,r_types_base.h", cprefix="r_bin_", lower_case_cprefix="r_bin_")] namespace Radare { [Compact] [CCode (cname="RBin", free_function="r_bin_free", cprefix="r_bin_")] diff --git a/swig/test/python/bin.py b/swig/test/python/bin.py index 602b8726a8..5ae2a431cc 100644 --- a/swig/test/python/bin.py +++ b/swig/test/python/bin.py @@ -4,6 +4,6 @@ b = RBin () b.load("/bin/ls", None) baddr= b.get_baddr() print '-> Sections' -for i in b.get_symbols (): +for i in b.get_sections (): print 'offset=0x%08x va=0x%08x size=%05i %s' % ( i.offset, baddr+i.rva, i.size, i.name)