aboutsummaryrefslogtreecommitdiffstats
path: root/tcpdump.h
blob: fc23d3fb509a4c5aa4dda5c2e2f3d4a8528f2984 (plain)
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
/* Copyright (C) 2008 The Android Open Source Project
**
** This software is licensed under the terms of the GNU General Public
** License version 2, as published by the Free Software Foundation, and
** may be copied, distributed, and modified under those terms.
**
** 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.
*/
#ifndef _QEMU_TCPDUMP_H
#define _QEMU_TCPDUMP_H

#include <stdint.h>

/* global flag, set to 1 when packet captupe is active */
extern int  qemu_tcpdump_active;

/* start a new packet capture, close the current one if any.
 * returns 0 on success, and -1 on failure (see errno then) */
extern int  qemu_tcpdump_start( const char*  filepath );

/* stop the current packet capture, if any */
extern void qemu_tcpdump_stop( void );

/* send an ethernet packet to the packet capture file, if any */
extern void qemu_tcpdump_packet( const void*  base, int  len );

/* returns interesting stats, like the number of packets captures,
 * and the total size of these packets. Note: the file will be larger
 * due to global and packet headers.
 */
extern void  qemu_tcpdump_stats( uint64_t  *pcount, uint64_t*  psize );

#endif /* _QEMU_TCPDUMP_H */