struct lwes_event_type_db * lwes_event_type_db_create (const char *filename) { struct lwes_event_type_db *db = (struct lwes_event_type_db *) malloc (sizeof (struct lwes_event_type_db)); if (db != NULL) { db->esf_filename[0] = '\0'; strncat (db->esf_filename, filename, FILENAME_MAX - 1); db->events = lwes_hash_create (); if (db->events != NULL) { if (lwes_parse_esf (db, db->esf_filename) != 0) { lwes_event_type_db_destroy(db); db = NULL; } } else { free (db); db = NULL; } } return db; }
static char * test_event1 (void) { struct lwes_event *event1; struct lwes_event_type_db *db = NULL; LWES_BYTE bytes[MAX_MSG_SIZE]; int size1; LWES_LONG_STRING string1; LWES_LONG_STRING string2; LWES_IP_ADDR ip_addr; char bigbuf[200]; char *retbuf; char bigdirbuf[4048]; char file[4100]; assert (getcwd (bigdirbuf, 4048) != NULL); snprintf (file, 4100, "%s/test1.esf", bigdirbuf); ip_addr.s_addr = inet_addr ("127.0.0.1"); db = lwes_event_type_db_create (file); assert (db != NULL); event1 = lwes_event_create_with_encoding (db, "Event1", encoding); assert ( event1 != NULL ); /* use the max string size */ string1 = random_ascii (10); string2 = random_ascii (50); assert (lwes_event_set_STRING (event1, "st", string1) == 2); assert (lwes_event_set_BOOLEAN (event1, "t_bool", 1) == 3); assert (lwes_event_set_INT_16 (event1, "t_int16", 1) == 4); assert (lwes_event_set_U_INT_16 (event1, "t_uint16", 1) == 5); assert (lwes_event_set_INT_32 (event1, "t_int32", 1) == 6); assert (lwes_event_set_U_INT_32 (event1, "t_uint32", 1) == 7); assert (lwes_event_set_INT_64 (event1, "t_int64", 1) == 8); assert (lwes_event_set_U_INT_64 (event1, "t_uint64", 1) == 9); assert (lwes_event_set_IP_ADDR (event1, "t_ip_addr",ip_addr) == 10); assert (lwes_event_set_STRING (event1, "t_string", string2) == 11); size1 = lwes_event_to_bytes (event1, bytes, MAX_MSG_SIZE, 0); sprintf (bigbuf, "Event1\t%d\n",size1); lwes_event_destroy (event1); lwes_event_type_db_destroy (db); free (string1); free (string2); retbuf = (char *) malloc (sizeof (char) * strlen (bigbuf) + 1); strcpy (retbuf, bigbuf); return retbuf; }