- sprintf(temp, "lttng.Event; name('%s'), type(%s), "
- "loglevel_type(%s), loglevel(%i), "
- "enabled(%s), pid(%i)",
- $self->name, evtype, logtype, $self->loglevel,
- $self->enabled ? "True" : "False", $self->pid);
- return &temp[0];
- }
-}
+struct lttng_event {
+ enum lttng_event_type type;
+ char name[LTTNG_SYMBOL_NAME_LEN];
+
+ enum lttng_loglevel_type loglevel_type;
+ int loglevel;
+
+ int32_t enabled;
+ pid_t pid;
+
+ char padding[LTTNG_EVENT_PADDING1];
+
+ union {
+ struct lttng_event_probe_attr probe;
+ struct lttng_event_function_attr ftrace;
+
+ char padding[LTTNG_EVENT_PADDING2];
+ } attr;
+
+ %extend {
+ char *__repr__() {
+ static char temp[512];
+ char evtype[50];
+ char logtype[50];
+
+ switch ( $self->type ) {
+ case -1:
+ sprintf(evtype, "EVENT_ALL");
+ break;
+ case 0:
+ sprintf(evtype, "EVENT_TRACEPOINT");
+ break;
+ case 1:
+ sprintf(evtype, "EVENT_PROBE");
+ break;
+ case 2:
+ sprintf(evtype, "EVENT_FUNCTION");
+ break;
+ case 3:
+ sprintf(evtype, "EVENT_FUNCTION_ENTRY");
+ break;
+ case 4:
+ sprintf(evtype, "EVENT_NOOP");
+ break;
+ case 5:
+ sprintf(evtype, "EVENT_SYSCALL");
+ break;
+ default:
+ sprintf(evtype, "%i", $self->type);
+ break;
+ }
+
+ switch ( $self->loglevel_type ) {
+ case 0:
+ sprintf(logtype, "EVENT_LOGLEVEL_ALL");
+ break;
+ case 1:
+ sprintf(logtype, "EVENT_LOGLEVEL_RANGE");
+ break;
+ case 2:
+ sprintf(logtype, "EVENT_LOGLEVEL_SINGLE");
+ break;
+ default:
+ sprintf(logtype, "%i", $self->loglevel_type);
+ break;
+ }