/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /* * Kernel Connection Multiplexor * * Copyright (c) 2016 Tom Herbert * * 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