source: lib/format_template.c @ 9e2a109

4.0.1-hotfixescachetimestampsdevelopdpdk-ndagetsilivegetfragoffhelplibtrace4ndag_formatpfringrc-4.0.1rc-4.0.2rc-4.0.3rc-4.0.4ringdecrementfixringperformanceringtimestampfixes
Last change on this file since 9e2a109 was 9e2a109, checked in by Daniel Lawson <dlawson@…>, 15 years ago

moved format.h to libtrace_int.h

pulled out all the format-specific libtrace_t stuff into an opaque pointer which is defined inside each format_*.o file, for both input and output

This seems to work, it compiles at least, and wag and erf both work

rtclient input is currently broken, I suspect it's not stepping over the status properly

  • Property mode set to 100644
File size: 4.0 KB
Line 
1/*
2 * This file is part of libtrace
3 *
4 * Copyright (c) 2004 The University of Waikato, Hamilton, New Zealand.
5 * Authors: Daniel Lawson
6 *          Perry Lorier
7 *         
8 * All rights reserved.
9 *
10 * This code has been developed by the University of Waikato WAND
11 * research group. For further information please see http://www.wand.net.nz/
12 *
13 * libtrace is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2 of the License, or
16 * (at your option) any later version.
17 *
18 * libtrace is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21 * GNU General Public License for more details.
22 *
23 * You should have received a copy of the GNU General Public License
24 * along with libtrace; if not, write to the Free Software
25 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
26 *
27 * $Id$
28 *
29 */
30
31#include "libtrace.h"
32#include "libtrace_int.h"
33#include <inttypes.h>
34
35struct libtrace_format_data_t {
36        int fd;
37};
38static int template_init_input(struct libtrace_t *libtrace) {
39        libtrace->format_data = (struct libtrace_format_data_t *)
40                malloc(sizeof(struct libtrace_format_data_t));
41        return -1;
42}
43
44static int template_init_output(struct libtrace_out_t *libtrace) {
45        return -1;
46}
47
48static int template_config_output(struct libtrace_out_t *libtrace, int argc, char *argv[]) {
49        return -1;
50}
51
52static int template_fin_input(struct libtrace_t *libtrace) {
53        return -1;
54}
55
56static int template_fin_output(struct libtrace_out_t *libtrace) {
57        return -1;
58}
59
60static int template_read(struct libtrace_t *libtrace, void *buffer, size_t len) {
61        return -1;
62}
63static int template_read_packet(struct libtrace_t *libtrace, struct libtrace_packet_t *packet) {
64        return -1;
65}
66
67static int template_write_packet(struct libtrace_out_t *libtrace, struct libtrace_packet_t *packet) {
68        return -1;
69}
70
71static void *template_get_link(const struct libtrace_packet_t *packet) {
72        return NULL;
73}
74
75static libtrace_linktype_t template_get_link_type(const struct libtrace_packet_t *packet) {
76        return -1;
77}
78
79static int8_t template_get_direction(const struct libtrace_packet_t *packet) {
80        return -1;
81}
82
83static int8_t template_set_direction(const struct libtrace_packet_t *packet, int8_t direction) {
84        return -1;
85}
86
87static uint64_t template_get_erf_timestamp(const struct libtrace_packet_t *packet) {
88        return -1;
89}
90
91static struct timeval template_get_timeval(const struct libtrace_packet_t *packet) { 
92        struct timeval tv;
93        return tv;
94}
95
96static double template_get_seconds(const struct libtrace_packet_t *packet) {
97        return -1;
98}
99
100static int template_get_capture_length(const struct libtrace_packet_t *packet) {
101        return -1;
102}
103
104static int template_get_wire_length(const struct libtrace_packet_t *packet) {
105        return -1;
106}
107
108static size_t template_set_capture_length(const struct libtrace_packet_t *packet,size_t size) {
109        return -1;
110}
111
112static void template_help() {
113        return;
114}
115static struct libtrace_format_t template = {
116        "template",
117        "$Id$",
118        template_init_input,            /* init_input */
119        template_init_output,           /* init_output */
120        template_config_output,         /* config_output */
121        template_fin_input,             /* fin_input */
122        template_fin_output,            /* fin_output */
123        template_read,                  /* read */
124        template_read_packet,           /* read_packet */
125        template_write_packet,          /* write_packet */
126        template_get_link,              /* get_link */
127        template_get_link_type,         /* get_link_type */
128        template_get_direction,         /* get_direction */
129        template_set_direction,         /* set_direction */
130        template_get_erf_timestamp,     /* get_erf_timestamp */
131        template_get_timeval,           /* get_timeval */
132        template_get_seconds,           /* get_seconds */
133        template_get_capture_length,    /* get_capture_length */
134        template_get_wire_length,       /* get_wire_length */
135        template_set_capture_length,    /* set_capture_length */
136        template_help                   /* help */
137};
138
139void __attribute__((constructor)) template_constructor() {
140        register_format(&template);
141}
Note: See TracBrowser for help on using the repository browser.