xref: /aosp_15_r20/external/kernel-headers/original/uapi/linux/kcm.h (revision f80ad8b4341604f5951dab671d41019a6d7087ce)
1*f80ad8b4SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2*f80ad8b4SAndroid Build Coastguard Worker /*
3*f80ad8b4SAndroid Build Coastguard Worker  * Kernel Connection Multiplexor
4*f80ad8b4SAndroid Build Coastguard Worker  *
5*f80ad8b4SAndroid Build Coastguard Worker  * Copyright (c) 2016 Tom Herbert <[email protected]>
6*f80ad8b4SAndroid Build Coastguard Worker  *
7*f80ad8b4SAndroid Build Coastguard Worker  * This program is free software; you can redistribute it and/or modify
8*f80ad8b4SAndroid Build Coastguard Worker  * it under the terms of the GNU General Public License version 2
9*f80ad8b4SAndroid Build Coastguard Worker  * as published by the Free Software Foundation.
10*f80ad8b4SAndroid Build Coastguard Worker  *
11*f80ad8b4SAndroid Build Coastguard Worker  * User API to clone KCM sockets and attach transport socket to a KCM
12*f80ad8b4SAndroid Build Coastguard Worker  * multiplexor.
13*f80ad8b4SAndroid Build Coastguard Worker  */
14*f80ad8b4SAndroid Build Coastguard Worker 
15*f80ad8b4SAndroid Build Coastguard Worker #ifndef KCM_KERNEL_H
16*f80ad8b4SAndroid Build Coastguard Worker #define KCM_KERNEL_H
17*f80ad8b4SAndroid Build Coastguard Worker 
18*f80ad8b4SAndroid Build Coastguard Worker struct kcm_attach {
19*f80ad8b4SAndroid Build Coastguard Worker 	int fd;
20*f80ad8b4SAndroid Build Coastguard Worker 	int bpf_fd;
21*f80ad8b4SAndroid Build Coastguard Worker };
22*f80ad8b4SAndroid Build Coastguard Worker 
23*f80ad8b4SAndroid Build Coastguard Worker struct kcm_unattach {
24*f80ad8b4SAndroid Build Coastguard Worker 	int fd;
25*f80ad8b4SAndroid Build Coastguard Worker };
26*f80ad8b4SAndroid Build Coastguard Worker 
27*f80ad8b4SAndroid Build Coastguard Worker struct kcm_clone {
28*f80ad8b4SAndroid Build Coastguard Worker 	int fd;
29*f80ad8b4SAndroid Build Coastguard Worker };
30*f80ad8b4SAndroid Build Coastguard Worker 
31*f80ad8b4SAndroid Build Coastguard Worker #define SIOCKCMATTACH	(SIOCPROTOPRIVATE + 0)
32*f80ad8b4SAndroid Build Coastguard Worker #define SIOCKCMUNATTACH	(SIOCPROTOPRIVATE + 1)
33*f80ad8b4SAndroid Build Coastguard Worker #define SIOCKCMCLONE	(SIOCPROTOPRIVATE + 2)
34*f80ad8b4SAndroid Build Coastguard Worker 
35*f80ad8b4SAndroid Build Coastguard Worker #define KCMPROTO_CONNECTED	0
36*f80ad8b4SAndroid Build Coastguard Worker 
37*f80ad8b4SAndroid Build Coastguard Worker /* Socket options */
38*f80ad8b4SAndroid Build Coastguard Worker #define KCM_RECV_DISABLE	1
39*f80ad8b4SAndroid Build Coastguard Worker 
40*f80ad8b4SAndroid Build Coastguard Worker #endif
41*f80ad8b4SAndroid Build Coastguard Worker 
42