T_MAX_ARGS was 16 and some people start to use the T machinery with more than 16 values. So be it. Let tracers be friendly and accept 32. (More commits to follow for full support.) Also why is T_MAX_ARGS in T_defs.h when it's only used by event.h? Hum?
54 lines
895 B
C
54 lines
895 B
C
#ifndef _EVENT_H_
|
|
#define _EVENT_H_
|
|
|
|
#include "utils.h"
|
|
#include "../T_defs.h"
|
|
#ifdef T_SEND_TIME
|
|
#include <time.h>
|
|
#endif
|
|
|
|
/* maximum number of arguments for the T macro */
|
|
#define T_MAX_ARGS 32
|
|
|
|
enum event_arg_type {
|
|
EVENT_INT,
|
|
EVENT_ULONG,
|
|
EVENT_STRING,
|
|
EVENT_BUFFER
|
|
};
|
|
|
|
typedef struct {
|
|
enum event_arg_type type;
|
|
//int offset;
|
|
union {
|
|
int i;
|
|
unsigned long ul;
|
|
char *s;
|
|
struct {
|
|
int bsize;
|
|
void *b;
|
|
};
|
|
};
|
|
} event_arg;
|
|
|
|
typedef struct {
|
|
#ifdef T_SEND_TIME
|
|
struct timespec sending_time;
|
|
#endif
|
|
int type;
|
|
char *buffer;
|
|
event_arg e[T_MAX_ARGS];
|
|
int ecount;
|
|
} event;
|
|
|
|
event get_event(int s, OBUF *v, void *d);
|
|
|
|
#ifdef T_SEND_TIME
|
|
event new_event(struct timespec sending_time, int type,
|
|
int length, char *buffer, void *database);
|
|
#else
|
|
event new_event(int type, int length, char *buffer, void *database);
|
|
#endif
|
|
|
|
#endif /* _EVENT_H_ */
|