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