X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=genevent-new%2Fparser.h;h=21884fb6d0b82d35f44bd4cc12ee19e5f3e7a799;hb=d3cd9e86e2c959b5cf35ff4c47a70822f78cb36e;hp=482e16d0eb6de5466ee988ab79b3620443534ab5;hpb=2d2d14a73451144b1f67fb64191a6cef99b90a26;p=lttv.git diff --git a/genevent-new/parser.h b/genevent-new/parser.h index 482e16d0..21884fb6 100644 --- a/genevent-new/parser.h +++ b/genevent-new/parser.h @@ -101,24 +101,21 @@ typedef enum _data_type { NONE } data_type_t; -/* Event type descriptors */ - typedef struct _type_descriptor { char * type_name; //used for named type data_type_t type; char *fmt; - unsigned long long size; + size_t size; sequence_t labels; // for enumeration + sequence_t labels_values; // for enumeration sequence_t labels_description; int already_printed; - sequence_t fields; // for structure - struct _type_descriptor *nested_type; // for array and sequence - int alignment; + sequence_t fields; // for structure, array and sequence (field_t type) } type_descriptor_t; -/* Fields within types */ +/* Fields within types or events */ typedef struct _field{ char *name; char *description; @@ -131,7 +128,8 @@ typedef struct _field{ typedef struct _event { char *name; char *description; - type_descriptor_t *type; + //type_descriptor_t *type; + sequence_t fields; /* event fields */ int per_trace; /* Is the event able to be logged to a specific trace ? */ int per_tracefile; /* Must we log this event in a specific tracefile ? */ } event_t; @@ -141,8 +139,9 @@ typedef struct _facility { char * capname; char * description; sequence_t events; - sequence_t unnamed_types; + sequence_t unnamed_types; //FIXME : remove table_t named_types; + unsigned int checksum; } facility_t; int getSizeindex(unsigned int value); @@ -156,12 +155,14 @@ void parseTypeDefinition(parse_file_t *in, sequence_t * unnamed_types, table_t * named_types); type_descriptor_t *parseType(parse_file_t *in, type_descriptor_t *t, sequence_t * unnamed_types, table_t * named_types); -void parseFields(parse_file_t *in, type_descriptor_t *t, - sequence_t * unnamed_types, table_t * named_types); +void parseFields(parse_file_t *in, field_t *f, + sequence_t * unnamed_types, + table_t * named_types, + int tag); void checkNamedTypesImplemented(table_t * namedTypes); type_descriptor_t * find_named_type(char *name, table_t * named_types); void generateChecksum(char * facName, - unsigned long * checksum, sequence_t * events); + unsigned int * checksum, sequence_t * events); /* get attributes */