From 77288207fa55e8e5d0b0f986c45b6a33ebaf891c Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 31 May 2011 21:19:22 +0200 Subject: osmo-pcap-client: Connect to a server, send the data to it --- include/osmo-pcap/osmo_pcap_client.h | 11 ++++++++- include/osmo-pcap/wireformat.h | 46 ++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 include/osmo-pcap/wireformat.h (limited to 'include/osmo-pcap') diff --git a/include/osmo-pcap/osmo_pcap_client.h b/include/osmo-pcap/osmo_pcap_client.h index 95302b1..7aae7ca 100644 --- a/include/osmo-pcap/osmo_pcap_client.h +++ b/include/osmo-pcap/osmo_pcap_client.h @@ -20,9 +20,12 @@ * */ +#include #include #include +#include +#include struct osmo_pcap_client { @@ -33,11 +36,12 @@ struct osmo_pcap_client { struct bpf_program bpf; char *filter_string; int filter_itself; - struct osmo_fd fd; char *srv_ip; int srv_port; + struct osmo_wqueue wqueue; + struct osmo_timer_list timer; }; extern struct osmo_pcap_client *pcap_client; @@ -46,3 +50,8 @@ int vty_client_init(struct osmo_pcap_client *); int osmo_client_capture(struct osmo_pcap_client *client, const char *device); int osmo_client_filter(struct osmo_pcap_client *client, const char *filter); + +void osmo_client_send_data(struct osmo_pcap_client *client, + struct pcap_pkthdr *hdr, const uint8_t *data); +void osmo_client_send_link(struct osmo_pcap_client *client); +void osmo_client_connect(struct osmo_pcap_client *); diff --git a/include/osmo-pcap/wireformat.h b/include/osmo-pcap/wireformat.h new file mode 100644 index 0000000..a642bb1 --- /dev/null +++ b/include/osmo-pcap/wireformat.h @@ -0,0 +1,46 @@ +/* + * osmo-pcap wireforat + * + * (C) 2011 by Holger Hans Peter Freyther + * (C) 2011 by On-Waves + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#ifndef WIREFORMAT_H +#define WIREFORMAT_H + +#include +#include + +/* + * Should send an entire pcap header + */ +#define PKT_LINK_HDR 0 + +/* + * Should send one packet... + */ +#define PKT_LINK_DATA 1 + +struct osmo_pcap_data { + uint8_t type; + uint8_t spare[3]; + uint32_t len; + uint8_t data[0]; +} __attribute__((packed)); + +#endif -- cgit v1.2.3