Changeset dd2eaee


Ignore:
Timestamp:
04/21/06 23:06:02 (15 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:
088533a
Parents:
0c222cc
Message:

Add new pcapfile: uri for natively reading pcap files (without libpcap)
Add initialiser so we don't need to rely on gccisms for initialisation

Location:
lib
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • lib/Makefile.am

    redb18ce rdd2eaee  
    44extra_DIST = format_template.c
    55libtrace_la_SOURCES = trace.c fifo.c fifo.h common.h \
    6                 format_erf.c format_pcap.c format_wag.c format_legacy.c format_rt.c\
    7                 format_helper.c format_helper.h format_linux.c \
     6                format_erf.c format_pcap.c format_wag.c format_legacy.c \
     7                format_rt.c format_helper.c format_helper.h format_linux.c \
     8                format_pcapfile.c \
    89                parse_cmd.c parse_cmd.h libtrace_int.h lt_inttypes.h \
    910                linktypes.c protocols.c
     
    1314libtrace_la_SOURCES+=libtraceio-stdio.c
    1415endif
     16#libtrace_la_SOURCES+=libtraceio-bzlib.c
    1517
    1618if DAG2_4
  • lib/format_erf.c

    redb18ce rdd2eaee  
    539539        }
    540540        if (numbytes == 0) {
    541                 printf("eof\n");
    542541                return 0;
    543542        }
  • lib/format_legacy.c

    redb18ce rdd2eaee  
    327327
    328328       
    329 static void CONSTRUCTOR legacy_constructor() {
     329void CONSTRUCTOR legacy_constructor() {
    330330        register_format(&legacypos);
    331331        register_format(&legacyeth);
  • lib/format_linux.c

    redb18ce rdd2eaee  
    227227};
    228228
    229 void __attribute__((constructor)) linuxnative_constructor() {
     229void CONSTRUCTOR linuxnative_constructor() {
    230230        register_format(&linuxnative);
    231231}
  • lib/format_pcap.c

    r97e39a7 rdd2eaee  
    531531};
    532532
    533 void __attribute__((constructor)) pcap_constructor() {
     533void CONSTRUCTOR pcap_constructor() {
    534534        register_format(&pcap);
    535535        register_format(&pcapint);
  • lib/libtrace.h

    r39e141f rdd2eaee  
    12041204        TRACE_FORMAT_ERF          =1,
    12051205        TRACE_FORMAT_PCAP         =2,
    1206         TRACE_FORMAT_WAG          =3,
    1207         TRACE_FORMAT_RT           =4,
    1208         TRACE_FORMAT_LEGACY_ATM   =5,
    1209         TRACE_FORMAT_LEGACY_POS   =6,
    1210         TRACE_FORMAT_LEGACY_ETH   =7,
    1211         TRACE_FORMAT_LINUX_NATIVE =8
     1206        TRACE_FORMAT_PCAPFILE     =3,
     1207        TRACE_FORMAT_WAG          =4,
     1208        TRACE_FORMAT_RT           =5,
     1209        TRACE_FORMAT_LEGACY_ATM   =6,
     1210        TRACE_FORMAT_LEGACY_POS   =7,
     1211        TRACE_FORMAT_LEGACY_ETH   =8,
     1212        TRACE_FORMAT_LINUX_NATIVE =9
    12121213};
    12131214
  • lib/trace.c

    r0c222cc rdd2eaee  
    198198}
    199199
     200void erf_constructor();
     201void legacy_constructor();
     202void linuxnative_constructor();
     203void pcap_constructor();
     204void pcapfile_constructor();
     205void rt_constructor();
     206void wag_constructor();
     207
     208/* call all the constructors if they haven't yet all been called */
     209void trace_init(void)
     210{
     211        if (!formats_list) {
     212                erf_constructor();
     213                legacy_constructor();
     214                linuxnative_constructor();
     215#ifdef HAVE_PCAP
     216                pcap_constructor();
     217#endif
     218                pcapfile_constructor();
     219                rt_constructor();
     220                wag_constructor();
     221        }
     222}
     223
    200224/* Prints help information for libtrace
    201225 *
     
    205229DLLEXPORT void trace_help() {
    206230        struct libtrace_format_t *tmp;
     231        trace_init();
    207232        printf("libtrace %s\n",PACKAGE_VERSION);
    208233        for(tmp=formats_list;tmp;tmp=tmp->next) {
     
    227252        return format;
    228253}
     254
    229255
    230256/* Create a trace file from a URI
     
    259285        struct libtrace_format_t *tmp;
    260286
     287        trace_init();
     288
    261289        assert(uri && "Passing NULL to trace_create makes me a very sad program");
    262290       
     
    384412        const char *uridata = 0;
    385413        struct libtrace_format_t *tmp;
     414
     415        trace_init();
    386416
    387417        libtrace->err.err_num = TRACE_ERR_NOERROR;
Note: See TracChangeset for help on using the changeset viewer.