Changeset b5af22c


Ignore:
Timestamp:
04/14/10 15:26:28 (11 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:
a17c329
Parents:
81c2da8
Message:

Split compression type out from fileflags

Location:
lib
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • lib/format_duck.c

    r5511c14 rb5af22c  
    6868        char *path;
    6969        int level;
     70        int compress_type;
    7071        int fileflag;
    7172        iow_t *file;
     
    8485       
    8586        OUTPUT->level = 0;
     87        OUTPUT->compress_type = TRACE_OPTION_COMPRESSTYPE_NONE;
    8688        OUTPUT->fileflag = O_CREAT | O_WRONLY;
    8789        OUTPUT->file = 0;
     
    9799                        OUTPUT->level = *(int *)data;
    98100                        return 0;
     101                case TRACE_OPTION_OUTPUT_COMPRESSTYPE:
     102                        OUTPUT->compress_type = *(int *)data;
     103                        return 0;
    99104                case TRACE_OPTION_OUTPUT_FILEFLAGS:
    100105                        OUTPUT->fileflag = *(int *)data;
     
    122127
    123128static int duck_start_output(libtrace_out_t *libtrace) {
    124         OUTPUT->file = trace_open_file_out(libtrace, OUTPUT->level,
     129        OUTPUT->file = trace_open_file_out(libtrace,
     130                                                OUTPUT->compress_type,
     131                                                OUTPUT->level,
    125132                                                OUTPUT->fileflag);
    126133        if (!OUTPUT->file) {
  • lib/format_erf.c

    r5511c14 rb5af22c  
    111111                /* Compression level for the output file */
    112112                int level;
     113                /* Compression type */
     114                int compress_type;
    113115                /* File flags used to open the file, e.g. O_CREATE */
    114116                int fileflag;
     
    349351
    350352        OUT_OPTIONS.level = 0;
     353        OUT_OPTIONS.compress_type = TRACE_OPTION_COMPRESSTYPE_NONE;
    351354        OUT_OPTIONS.fileflag = O_CREAT | O_WRONLY;
    352355        OUTPUT->file = 0;
     
    361364                case TRACE_OPTION_OUTPUT_COMPRESS:
    362365                        OUT_OPTIONS.level = *(int*)value;
     366                        return 0;
     367                case TRACE_OPTION_OUTPUT_COMPRESSTYPE:
     368                        OUT_OPTIONS.compress_type = *(int*)value;
    363369                        return 0;
    364370                case TRACE_OPTION_OUTPUT_FILEFLAGS:
     
    532538{
    533539        OUTPUT->file = trace_open_file_out(libtrace,
     540                        OUT_OPTIONS.compress_type,
    534541                        OUT_OPTIONS.level,
    535542                        OUT_OPTIONS.fileflag);
     543
    536544        if (!OUTPUT->file) {
    537545                return -1;
  • lib/format_helper.c

    r238d50a rb5af22c  
    262262
    263263/* Open a file for writing using the new Libtrace IO system */
    264 iow_t *trace_open_file_out(libtrace_out_t *trace,int level, int fileflag)
     264iow_t *trace_open_file_out(libtrace_out_t *trace, int compress_type, int level, int fileflag)
    265265{
    266266        assert(level<10);
    267267        assert(level>=0);
    268268
    269         return wandio_wcreate(trace->uridata, level, fileflag);
     269        return wandio_wcreate(trace->uridata, compress_type, level, fileflag);
    270270}
    271271
  • lib/format_helper.h

    r21ae4b9 rb5af22c  
    8484 *
    8585 * @param libtrace      The output trace to be opened
     86 * @param compress_type The compression type to use when writing
    8687 * @param level         The compression level to use when writing, ranging from
    8788 *                      0 to 9
     
    9192 */
    9293iow_t *trace_open_file_out(libtrace_out_t *libtrace,
     94                int compress_type,
    9395                int level,
    9496                int filemode);
  • lib/format_pcapfile.c

    r962aad3 rb5af22c  
    8888struct pcapfile_format_data_out_t {
    8989        iow_t *file;
     90        int compress_type;
    9091        int level;
    9192        int flag;
     
    128129
    129130        DATAOUT(libtrace)->file=NULL;
     131        DATAOUT(libtrace)->compress_type=TRACE_OPTION_COMPRESSTYPE_NONE;
    130132        DATAOUT(libtrace)->level=0;
    131133        DATAOUT(libtrace)->flag=O_CREAT|O_WRONLY;
     
    266268                        DATAOUT(libtrace)->level = *(int*)value;
    267269                        return 0;
     270                case TRACE_OPTION_OUTPUT_COMPRESSTYPE:
     271                        DATAOUT(libtrace)->compress_type = *(int*)value;
     272                        return 0;
    268273                case TRACE_OPTION_OUTPUT_FILEFLAGS:
    269274                        DATAOUT(libtrace)->flag = *(int*)value;
     
    412417
    413418                DATAOUT(out)->file=trace_open_file_out(out,
     419                                DATAOUT(out)->compress_type,
    414420                                DATAOUT(out)->level,
    415421                                DATAOUT(out)->flag);
  • lib/libtrace.h.in

    r0d1c9cf rb5af22c  
    399399        TRACE_ETHERTYPE_MPLS    = 0x8847,       /**< MPLS Unicast traffic */
    400400        TRACE_ETHERTYPE_MPLS_MC = 0x8848,       /**< MPLS Multicast traffic */
    401         TRACE_ETHERTYPE_PPP_DISC = 0x8863,      /**< PPPoE Service Discovery */
     401        TRACE_ETHERTYPE_PPP_DISC= 0x8863,       /**< PPPoE Service Discovery */
    402402        TRACE_ETHERTYPE_PPP_SES = 0x8864        /**< PPPoE Session Messages */
    403403} libtrace_ethertype_t;
     
    882882                void *value);
    883883
     884/** Valid compression types
     885 * Note, this must be kept in sync with WANDIO_COMPRESS_* numbers in wandio.h
     886 */
     887typedef enum {
     888        TRACE_OPTION_COMPRESSTYPE_NONE = 0, /**< No compression */
     889        TRACE_OPTION_COMPRESSTYPE_ZLIB = 1, /**< GZip Compression */
     890        TRACE_OPTION_COMPRESSTYPE_BZ2  = 2, /**< BZip2 Compression */
     891        TRACE_OPTION_COMPRESSTYPE_LZO  = 3, /**< LZO Compression */
     892} trace_option_compresstype_t;
     893
    884894/** Valid configuration options for output traces */
    885895typedef enum {
     
    888898        /** Compression level: 0 = no compression, 1 = faster compression,
    889899         * 9 = better compression */
    890         TRACE_OPTION_OUTPUT_COMPRESS   
     900        TRACE_OPTION_OUTPUT_COMPRESS,
     901        /** Compression type, see trace_option_compresstype_t */
     902        TRACE_OPTION_OUTPUT_COMPRESSTYPE,
    891903} trace_option_output_t;
    892904
  • lib/wandio.c

    r6f8745b rb5af22c  
    200200}
    201201
    202 iow_t *wandio_wcreate(const char *filename, int compression_level, int flags)
     202iow_t *wandio_wcreate(const char *filename, int compress_type, int compression_level, int flags)
    203203{
    204204        iow_t *iow;
     
    213213#if HAVE_LIBZ
    214214        if (compression_level != 0 &&
    215             (flags & WANDIO_COMPRESS_MASK) == WANDIO_COMPRESS_ZLIB) {
     215            compress_type == WANDIO_COMPRESS_ZLIB) {
    216216                iow = zlib_wopen(iow,compression_level);
    217217        }
     
    219219#if HAVE_LIBLZO2
    220220        else if (compression_level != 0 &&
    221             (flags & WANDIO_COMPRESS_MASK) == WANDIO_COMPRESS_LZO) {
     221            compress_type == WANDIO_COMPRESS_LZO) {
    222222                iow = lzo_wopen(iow,compression_level);
    223223        }
     
    225225#if HAVE_LIBBZ2
    226226        else if (compression_level != 0 &&
    227             (flags & WANDIO_COMPRESS_MASK) == WANDIO_COMPRESS_BZ2) {
     227            compress_type == WANDIO_COMPRESS_BZ2) {
    228228                iow = bz_wopen(iow,compression_level);
    229229        }
  • lib/wandio.h

    r6a5b8a4 rb5af22c  
    260260 *
    261261 * @param filename              The name of the file to open
     262 * @param compression_type      Compression type
    262263 * @param compression_level     The compression level to use when writing
    263264 * @param flags                 Flags to apply when opening the file, e.g.
     
    265266 * @return A pointer to the new libtrace IO writer, or NULL if an error occurs
    266267 */
    267 iow_t *wandio_wcreate(const char *filename, int compression_level, int flags);
     268iow_t *wandio_wcreate(const char *filename, int compression_type, int compression_level, int flags);
    268269
    269270/** Writes the contents of a buffer using a libtrace IO writer.
Note: See TracChangeset for help on using the changeset viewer.