| /* 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 */ |