* msg : message to be printed
****************************************************************************/
* msg : message to be printed
****************************************************************************/
{
if(in)
printf("Error in file %s, line %d: %s\n", in->name, in->lineno, msg);
{
if(in)
printf("Error in file %s, line %d: %s\n", in->name, in->lineno, msg);
* fac : facility filled with event list
****************************************************************************/
* fac : facility filled with event list
****************************************************************************/
getFacilityAttributes(in, fac);
if(fac->name == NULL) in->error(in, "Attribute not named");
getFacilityAttributes(in, fac);
if(fac->name == NULL) in->error(in, "Attribute not named");
in->error(in,"the definition of the facility is not finished");
if(strcmp("event",token) == 0){
in->error(in,"the definition of the facility is not finished");
if(strcmp("event",token) == 0){
sequence_push(&(fac->events),ev);
parseEvent(in,ev, &(fac->unnamed_types), &(fac->named_types));
}else if(strcmp("type",token) == 0){
sequence_push(&(fac->events),ev);
parseEvent(in,ev, &(fac->unnamed_types), &(fac->named_types));
}else if(strcmp("type",token) == 0){
* ev : new event (parameters are passed to it)
****************************************************************************/
* ev : new event (parameters are passed to it)
****************************************************************************/
-void parseEvent(parse_file *in, event * ev, sequence * unnamed_types,
- table * named_types)
+void parseEvent(parse_file_t *in, event_t * ev, sequence_t * unnamed_types,
+ table_t * named_types)
//<event name=eventtype_name>
getEventAttributes(in, ev);
//<event name=eventtype_name>
getEventAttributes(in, ev);
* named_types : array of named types
****************************************************************************/
* named_types : array of named types
****************************************************************************/
-void parseFields(parse_file *in, type_descriptor *t, sequence * unnamed_types,
- table * named_types)
+void parseFields(parse_file_t *in, type_descriptor_t *t,
+ sequence_t * unnamed_types,
+ table_t * named_types)
sequence_push(&(t->fields),f);
//<field name=field_name> <description> <type> </field>
sequence_push(&(t->fields),f);
//<field name=field_name> <description> <type> </field>
* type_descriptor* : a type descriptor
****************************************************************************/
* type_descriptor* : a type descriptor
****************************************************************************/
-type_descriptor *parseType(parse_file *in, type_descriptor *inType,
- sequence * unnamed_types, table * named_types)
+type_descriptor_t *parseType(parse_file_t *in, type_descriptor_t *inType,
+ sequence_t * unnamed_types, table_t * named_types)
* type_descriptor * : a type descriptor
*****************************************************************************/
* type_descriptor * : a type descriptor
*****************************************************************************/
* named_types : array of named types
*****************************************************************************/
* named_types : array of named types
*****************************************************************************/
token = getNameAttribute(in);
if(token == NULL) in->error(in, "Type has empty name");
token = getNameAttribute(in);
if(token == NULL) in->error(in, "Type has empty name");
* checkNamedTypesImplemented : check if all named types have definition
****************************************************************************/
* checkNamedTypesImplemented : check if all named types have definition
****************************************************************************/
- sprintf(str,"named type '%s' has no definition",(char*)named_types->keys.array[pos]);
+ sprintf(str,"named type '%s' has no definition",
+ (char*)named_types->keys.array[pos]);
* checksum : checksum for the facility
****************************************************************************/
* checksum : checksum for the facility
****************************************************************************/
-void generateChecksum( char* facName, unsigned long * checksum, sequence * events)
+void generateChecksum(char* facName,
+ unsigned long * checksum, sequence_t * events)
crc = partial_crc32(ev->name,crc);
if(!ev->type) continue; //event without type
if(ev->type->type != STRUCT){
crc = partial_crc32(ev->name,crc);
if(!ev->type) continue; //event without type
if(ev->type->type != STRUCT){
* unsigned long : checksum
*****************************************************************************/
* unsigned long : checksum
*****************************************************************************/
{
unsigned long crc = aCrc;
char * str = NULL, buf[16];
int flag = 0, pos;
{
unsigned long crc = aCrc;
char * str = NULL, buf[16];
int flag = 0, pos;
crc = getTypeChecksum(crc,type->nested_type);
}else if(type->type == STRUCT || type->type == UNION){
for(pos =0; pos < type->fields.position; pos++){
crc = getTypeChecksum(crc,type->nested_type);
}else if(type->type == STRUCT || type->type == UNION){
for(pos =0; pos < type->fields.position; pos++){
crc = partial_crc32(fld->name,crc);
crc = getTypeChecksum(crc, fld->type);
}
crc = partial_crc32(fld->name,crc);
crc = getTypeChecksum(crc, fld->type);
}
{
sequence_push(&(t->keys),key);
sequence_push(&(t->values),value);
}
{
sequence_push(&(t->keys),key);
sequence_push(&(t->values),value);
}
{
sequence_push(&(t->keys),key);
sequence_push(&(t->values),value);
}
{
sequence_push(&(t->keys),key);
sequence_push(&(t->values),value);
}