コード例 #1
0
ファイル: lwes_event_type_db.c プロジェクト: lwes/lwes
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;
}
コード例 #2
0
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;
}