The visitor ABI is a contract between instrumented applications and
userspace tracers only, and follows C calling convention, so packing
those data structures serve no purpose.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
struct side_tracer_visitor_ctx;
struct side_tracer_dynamic_struct_visitor_ctx;
struct side_tracer_visitor_ctx;
struct side_tracer_dynamic_struct_visitor_ctx;
typedef enum side_visitor_status (*side_write_elem_func)(
const struct side_tracer_visitor_ctx *tracer_ctx,
const struct side_arg *elem);
typedef enum side_visitor_status (*side_write_elem_func)(
const struct side_tracer_visitor_ctx *tracer_ctx,
const struct side_arg *elem);
struct side_tracer_visitor_ctx {
side_write_elem_func write_elem;
void *priv; /* Private tracer context. */
struct side_tracer_visitor_ctx {
side_write_elem_func write_elem;
void *priv; /* Private tracer context. */
typedef enum side_visitor_status (*side_write_field_func)(
const struct side_tracer_dynamic_struct_visitor_ctx *tracer_ctx,
typedef enum side_visitor_status (*side_write_field_func)(
const struct side_tracer_dynamic_struct_visitor_ctx *tracer_ctx,
struct side_tracer_dynamic_struct_visitor_ctx {
side_write_field_func write_field;
void *priv; /* Private tracer context. */
struct side_tracer_dynamic_struct_visitor_ctx {
side_write_field_func write_field;
void *priv; /* Private tracer context. */
#endif /* SIDE_ABI_VISITOR_H */
#endif /* SIDE_ABI_VISITOR_H */