20 #include "../util/c99defs.h" 21 #include "../util/bmem.h" 43 #define CALL_PARAM_IN (1<<0) 44 #define CALL_PARAM_OUT (1<<1) 55 static inline void calldata_init(
struct calldata *data)
57 memset(data, 0,
sizeof(
struct calldata));
60 static inline void calldata_clear(
struct calldata *data);
72 static inline void calldata_free(
struct calldata *data)
79 void *out,
size_t size);
81 const void *in,
size_t new_size);
83 static inline void calldata_clear(
struct calldata *data)
86 data->
size =
sizeof(size_t);
87 memset(data->
stack, 0,
sizeof(
size_t));
95 static inline bool calldata_get_int(
const calldata_t *data,
const char *name,
101 static inline bool calldata_get_float (
const calldata_t *data,
const char *name,
107 static inline bool calldata_get_bool (
const calldata_t *data,
const char *name,
113 static inline bool calldata_get_ptr (
const calldata_t *data,
const char *name,
125 static inline long long calldata_int(
const calldata_t *data,
const char *name)
128 calldata_get_int(data, name, &val);
132 static inline double calldata_float(
const calldata_t *data,
const char *name)
135 calldata_get_float(data, name, &val);
139 static inline bool calldata_bool(
const calldata_t *data,
const char *name)
142 calldata_get_bool(data, name, &val);
146 static inline void *calldata_ptr(
const calldata_t *data,
const char *name)
149 calldata_get_ptr(data, name, &val);
153 static inline const char *calldata_string(
const calldata_t *data,
156 const char *val = NULL;
163 static inline void calldata_set_int (
calldata_t *data,
const char *name,
169 static inline void calldata_set_float (
calldata_t *data,
const char *name,
175 static inline void calldata_set_bool (
calldata_t *data,
const char *name,
181 static inline void calldata_set_ptr (
calldata_t *data,
const char *name,
187 static inline void calldata_set_string(
calldata_t *data,
const char *name,
EXPORT bool calldata_get_string(const calldata_t *data, const char *name, const char **str)
Definition: calldata.h:46
Definition: calldata.h:36
Definition: calldata.h:39
uint8_t * stack
Definition: calldata.h:47
Definition: calldata.h:35
Definition: calldata.h:40
unsigned char uint8_t
Definition: vc_stdint.h:27
EXPORT void calldata_set_data(calldata_t *data, const char *name, const void *in, size_t new_size)
#define EXPORT
Definition: c99defs.h:53
Definition: calldata.h:37
call_param_type
Definition: calldata.h:34
Definition: calldata.h:38
EXPORT bool calldata_get_data(const calldata_t *data, const char *name, void *out, size_t size)
bool fixed
Definition: calldata.h:50
size_t size
Definition: calldata.h:48
size_t capacity
Definition: calldata.h:49
EXPORT void bfree(void *ptr)