summaryrefslogtreecommitdiffstats
path: root/gst/pcapparse/gstpcapparse.h
diff options
context:
space:
mode:
authorOle André Vadla Ravnås <ole.andre.ravnas@tandberg.com>2008-08-24 13:53:29 +0000
committerOle André Vadla Ravnås <ole.andre.ravnas@tandberg.com>2008-08-24 13:53:29 +0000
commit65062ed750828b054234e0ce96a18556bc2f9696 (patch)
tree5b99a97cb8f05fcdf739ac88a8be2c481c5d04fe /gst/pcapparse/gstpcapparse.h
parent407b78824263993fb67b844ea98763d0914f74aa (diff)
downloadgst-plugins-bad-65062ed750828b054234e0ce96a18556bc2f9696.tar.gz
gst-plugins-bad-65062ed750828b054234e0ce96a18556bc2f9696.tar.bz2
gst-plugins-bad-65062ed750828b054234e0ce96a18556bc2f9696.zip
New plugin: pcapparse (#520899).
Original commit message from CVS: * configure.ac: * gst/pcapparse/Makefile.am: * gst/pcapparse/gstpcapparse.c: * gst/pcapparse/gstpcapparse.h: New plugin: pcapparse (#520899).
Diffstat (limited to 'gst/pcapparse/gstpcapparse.h')
-rw-r--r--gst/pcapparse/gstpcapparse.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/gst/pcapparse/gstpcapparse.h b/gst/pcapparse/gstpcapparse.h
new file mode 100644
index 00000000..8e45f8b2
--- /dev/null
+++ b/gst/pcapparse/gstpcapparse.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2007 Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_PCAP_PARSE_H__
+#define __GST_PCAP_PARSE_H__
+
+#include <gst/gst.h>
+#include <gst/base/gstadapter.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_PCAP_PARSE \
+ (gst_pcap_parse_get_type ())
+#define GST_PCAP_PARSE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_PCAP_PARSE, GstPcapParse))
+#define GST_PCAP_PARSE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PCAP_PARSE, GstPcapParseClass))
+#define GST_IS_PCAP_PARSE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_PCAP_PARSE))
+#define GST_IS_PCAP_PARSE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_PCAP_PARSE))
+
+typedef struct _GstPcapParse GstPcapParse;
+typedef struct _GstPcapParseClass GstPcapParseClass;
+
+typedef enum
+{
+ PCAP_PARSE_STATE_CREATED,
+ PCAP_PARSE_STATE_PARSING,
+} GstPcapParseState;
+
+struct _GstPcapParse
+{
+ GstElement element;
+
+ GstPad * sink_pad;
+ GstPad * src_pad;
+
+ /* properties */
+ gint64 src_ip;
+ gint64 dst_ip;
+ gint32 src_port;
+ gint32 dst_port;
+
+ /* state */
+ GstAdapter * adapter;
+ gboolean initialized;
+ gboolean swap_endian;
+ gint64 cur_packet_size;
+ gint64 buffer_offset;
+};
+
+struct _GstPcapParseClass
+{
+ GstElementClass parent_class;
+};
+
+GType gst_pcap_parse_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GST_PCAP_PARSE_H__ */