Changeset ab4cb04 for lib/format_wag.c


Ignore:
Timestamp:
02/27/06 14:31:09 (16 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:
d5879cc
Parents:
afd0b73
Message:

Cleanup struct libtrace_Format_data_t

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/format_wag.c

    rafd0b73 rab4cb04  
    7979static struct libtrace_format_t wag_trace;
    8080
    81 #define INPUT libtrace->format_data->input
    82 #define OUTPUT libtrace->format_data->output
    83 #define OPTIONS libtrace->format_data->options
    84 
    85 struct libtrace_format_data_t {
    86         union {
    87                 char *path;             /**< information for local sockets */
    88         } conn_info;
     81#define DATA(x)         ((struct wag_format_data_t *)x->format_data)
     82#define DATAOUT(x)      ((struct wag_format_data_out_t *)x->format_data)
     83
     84#define INPUT DATA(libtrace)->input
     85#define OUTPUT DATAOUT(libtrace)->output
     86#define OPTIONS DATAOUT(libtrace)->options
     87
     88struct wag_format_data_t {
    8989        /** Information about the current state of the input device */
    9090        union {
     
    9898};
    9999
    100 struct libtrace_format_data_out_t {
    101         union {
    102                 char *path;
    103         } conn_info;
     100struct wag_format_data_out_t {
    104101        union {
    105102                struct {
     
    118115};
    119116
    120 static int wag_init_input(struct libtrace_t *libtrace) {
     117static int wag_init_input(libtrace_t *libtrace) {
     118        libtrace->format_data = calloc(1, sizeof(struct wag_format_data_t));
     119
     120        return 0;
     121}
     122
     123static int wag_start_input(libtrace_t *libtrace)
     124{
    121125        struct stat buf;
    122         libtrace->format_data = (struct libtrace_format_data_t *)
    123                 calloc(1,sizeof(struct libtrace_format_data_t));
    124        
    125126        if (stat(libtrace->uridata,&buf) == -1 ) {
    126127                trace_set_err(libtrace,errno,"stat(%s)",libtrace->uridata);
    127                 return 0;
     128                return -1;
    128129        }
    129130        if (S_ISCHR(buf.st_mode)) {
    130                                
    131131                INPUT.fd = open(libtrace->uridata, O_RDONLY);
    132 
    133132        } else {
    134133                trace_set_err(libtrace,TRACE_ERR_INIT_FAILED,
    135134                                "%s is not a valid char device",
    136135                                libtrace->uridata);
    137                 return 0;
    138                
    139         }
    140         return 1;
     136                return -1;
     137        }
     138        return 0;
    141139}
    142140
    143141static int wtf_init_input(struct libtrace_t *libtrace)
    144142{
    145         libtrace->format_data = (struct libtrace_format_data_t *)
    146                 malloc(sizeof(struct libtrace_format_data_t));
    147 
    148         return 1;
     143        libtrace->format_data = malloc(sizeof(struct wag_format_data_t));
     144
     145        return 0;
    149146}
    150147
    151148static int wtf_start_input(libtrace_t *libtrace)
    152149{
    153         libtrace->format_data->input.file = trace_open_file(libtrace);
    154 
    155         if (libtrace->format_data->input.file)
    156                 return 1;
    157 
    158         return 0;
     150        DATA(libtrace)->input.file = trace_open_file(libtrace);
     151
     152        if (DATA(libtrace)->input.file)
     153                return 0;
     154
     155        return -1;
    159156}
    160157
    161158static int wtf_init_output(struct libtrace_out_t *libtrace) {
    162         libtrace->format_data = (struct libtrace_format_data_out_t *)
    163                 calloc(1,sizeof(struct libtrace_format_data_out_t));
     159        libtrace->format_data = calloc(1,sizeof(struct wag_format_data_out_t));
    164160
    165161        OUTPUT.file = 0;
     
    205201}
    206202
     203static int wag_pause_input(libtrace_t *libtrace)
     204{
     205        close(INPUT.fd);
     206}
     207
    207208static int wag_fin_input(struct libtrace_t *libtrace) {
    208         close(INPUT.fd);
    209209        free(libtrace->format_data);
    210210        return 0;
     
    417417
    418418static int wag_get_fd(const libtrace_t *trace) {
    419         return trace->format_data->input.fd;
     419        return DATA(trace)->input.fd;
    420420}
    421421
     
    454454        wag_init_input,                 /* init_input */       
    455455        NULL,                           /* config_input */
    456         NULL,                           /* start_input */
    457         NULL,                           /* pause_input */
     456        wag_start_input,                /* start_input */
     457        wag_pause_input,                /* pause_input */
    458458        NULL,                           /* init_output */
    459459        NULL,                           /* config_output */
Note: See TracChangeset for help on using the changeset viewer.