| /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ | |
| /* | |
| * Kernel Connection Multiplexor | |
| * | |
| * Copyright (c) 2016 Tom Herbert <tom@herbertland.com> | |
| * | |
| * This program is free software; you can redistribute it and/or modify | |
| * it under the terms of the GNU General Public License version 2 | |
| * as published by the Free Software Foundation. | |
| * | |
| * User API to clone KCM sockets and attach transport socket to a KCM | |
| * multiplexor. | |
| */ | |
| #ifndef KCM_KERNEL_H | |
| #define KCM_KERNEL_H | |
| struct kcm_attach { | |
| int fd; | |
| int bpf_fd; | |
| }; | |
| struct kcm_unattach { | |
| int fd; | |
| }; | |
| struct kcm_clone { | |
| int fd; | |
| }; | |
| #define SIOCKCMATTACH (SIOCPROTOPRIVATE + 0) | |
| #define SIOCKCMUNATTACH (SIOCPROTOPRIVATE + 1) | |
| #define SIOCKCMCLONE (SIOCPROTOPRIVATE + 2) | |
| #define KCMPROTO_CONNECTED 0 | |
| /* Socket options */ | |
| #define KCM_RECV_DISABLE 1 | |
| #endif | |