1 #ifndef ST_TYPEDEFS_H 2 #define ST_TYPEDEFS_H 3 4 #include <stdint.h> 5 6 /* Typedefs for predefined state transfer names. */ 7 #define ST_DECLARE_STD_PTR_TYPEDEFS(PREFIX) \ 8 typedef void* PREFIX ## void_ptr_t; \ 9 typedef char* PREFIX ## char_ptr_t; \ 10 typedef short* PREFIX ## short_ptr_t; \ 11 typedef int* PREFIX ## int_ptr_t; \ 12 typedef long* PREFIX ## long_ptr_t; \ 13 typedef unsigned char* PREFIX ## uchar_ptr_t; \ 14 typedef unsigned short* PREFIX ## ushort_ptr_t; \ 15 typedef unsigned int* PREFIX ## uint_ptr_t; \ 16 typedef unsigned long* PREFIX ## ulong_ptr_t; \ 17 typedef float* PREFIX ## float_ptr_t; \ 18 typedef double* PREFIX ## double_ptr_t; \ 19 typedef uint8_t* PREFIX ## u8_ptr_t; \ 20 typedef uint16_t* PREFIX ## u16_ptr_t; \ 21 typedef uint32_t* PREFIX ## u32_ptr_t; \ 22 typedef uint64_t* PREFIX ## u64_ptr_t; \ 23 typedef int8_t* PREFIX ## i8_ptr_t; \ 24 typedef int16_t* PREFIX ## i16_ptr_t; \ 25 typedef int32_t* PREFIX ## i32_ptr_t 26 27 #define ST_DECLARE_STD_PTRINT_TYPEDEFS(PREFIX) \ 28 typedef uint32_t PREFIX ## u32_t; \ 29 typedef int PREFIX ## int_t; \ 30 typedef long PREFIX ## long_t; \ 31 typedef unsigned int PREFIX ## uint_t; \ 32 typedef unsigned long PREFIX ## ulong_t 33 34 #define ST_TYPENAME_NO_TRANSFER_NAMES "noxfer_*", "pthread_mutex_t", "siginfo_t", "epoll_data_t", "YYSTYPE" 35 ST_DECLARE_STD_PTR_TYPEDEFS(noxfer_); 36 #define ST_TYPENAME_IDENTITY_TRANSFER_NAMES "ixfer_*" 37 ST_DECLARE_STD_PTR_TYPEDEFS(ixfer_); 38 #define ST_TYPENAME_CIDENTITY_TRANSFER_NAMES "cixfer_*" 39 ST_DECLARE_STD_PTR_TYPEDEFS(cixfer_); 40 #define ST_TYPENAME_PTR_TRANSFER_NAMES "pxfer_*" 41 ST_DECLARE_STD_PTRINT_TYPEDEFS(pxfer_); 42 #define ST_TYPENAME_STRUCT_TRANSFER_NAMES "sxfer_*" 43 #ifdef __MINIX 44 #define ST_SENTRYNAME_NO_TRANSFER_NAMES "noxfer_*", "sef_*", "st_*", "etext" 45 #else 46 #define ST_SENTRYNAME_NO_TRANSFER_NAMES "noxfer_*", "st_*", "etext", "allocatedDescs*", "ep.*" /* nginx specific */ 47 #define ST_DSENTRYLIB_NO_TRANSFER_NAMES "*/libst.so", "*/libcommon.so", "*/libtaskctl.so" 48 #endif 49 #define ST_SENTRYNAME_NO_TRANSFER_MEM_NAMES "_brksize" 50 #define ST_SENTRYNAME_IDENTITY_TRANSFER_NAMES "ixfer_*" 51 #define ST_SENTRYNAME_CIDENTITY_TRANSFER_NAMES "cixfer_*" 52 #define ST_SENTRYNAME_PTR_TRANSFER_NAMES "pxfer_*" 53 54 55 #endif /* ST_TYPEDEFS_H */ 56