Changeset 91b72d3 for lib/format_tsh.c


Ignore:
Timestamp:
01/05/09 11:29:11 (13 years ago)
Author:
Perry Lorier <perry@…>
Branches:
4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, getfragoff, help, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
Children:
ad36006
Parents:
9d0049cf
Message:

Try to autoguess the tracetype if the format uri specify is not present

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/format_tsh.c

    rc66068d r91b72d3  
    4242static struct libtrace_format_t tshformat;
    4343
    44 #define DATA(x) ((struct tsh_format_data_t *)x->format_data)
    45 
    46 struct tsh_format_data_t {
    47         io_t *file;
    48 };
    49 
    5044typedef struct tsh_pkt_header_t {
    5145        uint32_t seconds;
     
    6155static int tsh_init_input(libtrace_t *libtrace)
    6256{
    63         libtrace->format_data = malloc(sizeof(struct tsh_format_data_t));
     57        libtrace->format_data = NULL; /* No format data */
    6458       
    65         DATA(libtrace)->file = 0;
    66 
    6759        return 0; /* success */
    6860}
     
    7062static int tsh_start_input(libtrace_t *libtrace)
    7163{
    72         if (DATA(libtrace)->file)
     64        if (libtrace->io)
    7365                return 0; /* success */
    7466
    75         DATA(libtrace)->file = trace_open_file(libtrace);
    76 
    77         if (!DATA(libtrace)->file)
     67        libtrace->io = trace_open_file(libtrace);
     68
     69        if (!libtrace->io)
    7870                return -1;
    7971
     
    8274
    8375static int tsh_fin_input(libtrace_t *libtrace) {
    84         if (DATA(libtrace)->file)
    85                 wandio_destroy(DATA(libtrace)->file);
    86         free(libtrace->format_data);
     76        if (libtrace->io)
     77                wandio_destroy(libtrace->io);
    8778        return 0;
    8879}
     
    134125
    135126        /* Read the TSH header */
    136         if ((numbytes=wandio_read(DATA(libtrace)->file,
     127        if ((numbytes=wandio_read(libtrace->io,
    137128                                        buffer2,
    138129                                        (size_t)sizeof(tsh_pkt_header_t))) == -1) {
     
    149140
    150141        /* Read the IP header */
    151         if ((numbytes=wandio_read(DATA(libtrace)->file,
     142        if ((numbytes=wandio_read(libtrace->io,
    152143                                buffer2,
    153144                                (size_t)sizeof(libtrace_ip_t)))
     
    164155
    165156        /* Read the transport header */
    166         if ((numbytes=wandio_read(DATA(libtrace)->file,
     157        if ((numbytes=wandio_read(libtrace->io,
    167158                                buffer2,
    168159                                16)) != 16) {
     
    225216        "$Id$",
    226217        TRACE_FORMAT_TSH,
     218        NULL,                           /* probe filename */
     219        NULL,                           /* probe magic */
    227220        tsh_init_input,                 /* init_input */       
    228221        NULL,                           /* config_input */
     
    270263        "$Id$",
    271264        TRACE_FORMAT_TSH,
     265        NULL,                           /* probe filename */
     266        NULL,                           /* probe magic */
    272267        tsh_init_input,                 /* init_input */       
    273268        NULL,                           /* config_input */
Note: See TracChangeset for help on using the changeset viewer.