/usr/include/wireshark/epan/epan.h is in libwireshark-dev 1.6.7-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | /* epan.h
*
* $Id: epan.h 34193 2010-09-23 06:00:22Z morriss $
*
* Wireshark Protocol Analyzer Library
*
* Copyright (c) 2001 by Gerald Combs <gerald@wireshark.org>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef EPAN_H
#define EPAN_H
#include <glib.h>
#include "frame_data.h"
#include "column_info.h"
#include "register.h"
typedef struct _epan_dissect_t epan_dissect_t;
#include "dfilter/dfilter.h"
/** init the whole epan module, this is used to be called only once in a program */
void epan_init(void (*register_all_protocols_func)(register_cb cb, gpointer client_data),
void (*register_all_handoffs_func)(register_cb cb, gpointer client_data),
register_cb cb,
void *client_data,
void (*report_failure_fcn_p)(const char *, va_list),
void (*report_open_failure_fcn_p)(const char *, int, gboolean),
void (*report_read_failure_fcn_p)(const char *, int),
void (*report_write_failure_fcn_p)(const char *, int));
/** cleanup the whole epan module, this is used to be called only once in a program */
void epan_cleanup(void);
/**
* Initialize the table of conversations. Conversations are identified by
* their endpoints; they are used for protocols such as IP, TCP, and UDP,
* where packets contain endpoint information but don't contain a single
* value indicating to which flow the packet belongs.
*/
void epan_conversation_init(void);
void epan_conversation_cleanup(void);
/**
* Initialize the table of circuits. Circuits are identified by a
* circuit ID; they are used for protocols where packets *do* contain
* a circuit ID value indicating to which flow the packet belongs.
*
* We might want to make a superclass for both endpoint-specified
* conversations and circuit ID-specified circuits, so we can attach
* information either to a circuit or a conversation with common
* code.
*/
void epan_circuit_init(void);
void epan_circuit_cleanup(void);
/** A client will create one epan_t for an entire dissection session.
* A single epan_t will be used to analyze the entire sequence of packets,
* sequentially, in a single session. A session corresponds to a single
* packet trace file. The reaons epan_t exists is that some packets in
* some protocols cannot be decoded without knowledge of previous packets.
* This inter-packet "state" is stored in the epan_t.
*/
/* XXX - NOTE: epan_t, epan_new and epan_free are currently unused! */
typedef struct epan_session epan_t;
epan_t*
epan_new(void);
void
epan_free(epan_t*);
extern gchar*
epan_get_version(void);
/** initialize an existing single packet dissection */
epan_dissect_t*
epan_dissect_init(epan_dissect_t *edt, const gboolean create_proto_tree, const gboolean proto_tree_visible);
/** get a new single packet dissection
* should be freed using epan_dissect_free() after packet dissection completed
*/
epan_dissect_t*
epan_dissect_new(const gboolean create_proto_tree, const gboolean proto_tree_visible);
/** Indicate whether we should fake protocols or not */
void
epan_dissect_fake_protocols(epan_dissect_t *edt, const gboolean fake_protocols);
/** run a single packet dissection */
void
epan_dissect_run(epan_dissect_t *edt, void* pseudo_header,
const guint8* data, frame_data *fd, column_info *cinfo);
/** Prime a proto_tree using the fields/protocols used in a dfilter. */
void
epan_dissect_prime_dfilter(epan_dissect_t *edt, const dfilter_t *dfcode);
/** fill the dissect run output into the packet list columns */
void
epan_dissect_fill_in_columns(epan_dissect_t *edt, const gboolean fill_col_exprs, const gboolean fill_fd_colums);
/** releases resources attached to the packet dissection. DOES NOT free the actual pointer */
void
epan_dissect_cleanup(epan_dissect_t* edt);
/** free a single packet dissection */
void
epan_dissect_free(epan_dissect_t* edt);
/** Sets custom column */
const gchar *
epan_custom_set(epan_dissect_t *edt, int id, gint occurrence,
gchar *result, gchar *expr, const int size);
/**
* Get compile-time information for libraries used by libwireshark.
*/
void
epan_get_compiled_version_info(GString *str);
/**
* Get runtime information for libraries used by libwireshark.
*/
void
epan_get_runtime_version_info(GString *str);
#endif /* EPAN_H */
|