xref: /aosp_15_r20/external/bcc/libbpf-tools/bindsnoop.h (revision 387f9dfdfa2baef462e92476d413c7bc2470293e)
1*387f9dfdSAndroid Build Coastguard Worker /* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */
2*387f9dfdSAndroid Build Coastguard Worker #ifndef __BINDSNOOP_H
3*387f9dfdSAndroid Build Coastguard Worker #define __BINDSNOOP_H
4*387f9dfdSAndroid Build Coastguard Worker 
5*387f9dfdSAndroid Build Coastguard Worker #define TASK_COMM_LEN	16
6*387f9dfdSAndroid Build Coastguard Worker 
7*387f9dfdSAndroid Build Coastguard Worker struct bind_event {
8*387f9dfdSAndroid Build Coastguard Worker 	unsigned __int128 addr;
9*387f9dfdSAndroid Build Coastguard Worker 	__u64 ts_us;
10*387f9dfdSAndroid Build Coastguard Worker 	__u32 pid;
11*387f9dfdSAndroid Build Coastguard Worker 	__u32 bound_dev_if;
12*387f9dfdSAndroid Build Coastguard Worker 	int ret;
13*387f9dfdSAndroid Build Coastguard Worker 	__u16 port;
14*387f9dfdSAndroid Build Coastguard Worker 	__u16 proto;
15*387f9dfdSAndroid Build Coastguard Worker 	__u8 opts;
16*387f9dfdSAndroid Build Coastguard Worker 	__u8 ver;
17*387f9dfdSAndroid Build Coastguard Worker 	char task[TASK_COMM_LEN];
18*387f9dfdSAndroid Build Coastguard Worker };
19*387f9dfdSAndroid Build Coastguard Worker 
20*387f9dfdSAndroid Build Coastguard Worker union bind_options {
21*387f9dfdSAndroid Build Coastguard Worker 	__u8 data;
22*387f9dfdSAndroid Build Coastguard Worker 	struct {
23*387f9dfdSAndroid Build Coastguard Worker 		__u8 freebind : 1;
24*387f9dfdSAndroid Build Coastguard Worker 		__u8 transparent : 1;
25*387f9dfdSAndroid Build Coastguard Worker 		__u8 bind_address_no_port : 1;
26*387f9dfdSAndroid Build Coastguard Worker 		__u8 reuseaddress : 1;
27*387f9dfdSAndroid Build Coastguard Worker 		__u8 reuseport : 1;
28*387f9dfdSAndroid Build Coastguard Worker 	} fields;
29*387f9dfdSAndroid Build Coastguard Worker };
30*387f9dfdSAndroid Build Coastguard Worker 
31*387f9dfdSAndroid Build Coastguard Worker #endif /* __BINDSNOOP_H */
32