1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright 2019
4  * Ramon Fried <rfried.dev@gmail.com>
5  */
6 
7 /**
8  * pcap_init() - Initialize PCAP memory buffer
9  *
10  * @paddr	physicaly memory address to store buffer
11  * @size	maximum size of capture file in memory
12  *
13  * @return	0 on success, -ERROR on error
14  */
15 int pcap_init(phys_addr_t paddr, unsigned long size);
16 
17 /**
18  * pcap_start_stop() - start / stop pcap capture
19  *
20  * @start	if true, start capture if false stop capture
21  *
22  * @return	0 on success, -ERROR on error
23  */
24 int pcap_start_stop(bool start);
25 
26 /**
27  * pcap_clear() - clear pcap capture buffer and statistics
28  *
29  * @return	0 on success, -ERROR on error
30  */
31 int pcap_clear(void);
32 
33 /**
34  * pcap_print_status() - print status of pcap capture
35  *
36  * @return	0 on success, -ERROR on error
37  */
38 int pcap_print_status(void);
39 
40 /**
41  * pcap_active() - check if pcap is enabled
42  *
43  * @return	TRUE if active, FALSE if not.
44  */
45 bool pcap_active(void);
46 
47 /**
48  * pcap_post() - Post a packet to PCAP file
49  *
50  * @packet:	packet to post
51  * @len:	packet length in bytes
52  * @outgoing	packet direction (outgoing/incoming)
53  * @return	0 on success, -ERROR on error
54  */
55 int pcap_post(const void *packet, size_t len, bool outgoing);
56