2017-11-01 21:09:13 +07:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
2016-03-08 05:11:06 +07:00
|
|
|
/*
|
|
|
|
* 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
|
|
|
|
|