1/*
2 * Kernel Connection Multiplexor
3 *
4 * Copyright (c) 2016 Tom Herbert <tom@herbertland.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2
8 * as published by the Free Software Foundation.
9 *
10 * User API to clone KCM sockets and attach transport socket to a KCM
11 * multiplexor.
12 */
13
14#ifndef KCM_KERNEL_H
15#define KCM_KERNEL_H
16
17struct kcm_attach {
18	int fd;
19	int bpf_fd;
20};
21
22struct kcm_unattach {
23	int fd;
24};
25
26struct kcm_clone {
27	int fd;
28};
29
30#define SIOCKCMATTACH	(SIOCPROTOPRIVATE + 0)
31#define SIOCKCMUNATTACH	(SIOCPROTOPRIVATE + 1)
32#define SIOCKCMCLONE	(SIOCPROTOPRIVATE + 2)
33
34#define KCMPROTO_CONNECTED	0
35
36/* Socket options */
37#define KCM_RECV_DISABLE	1
38
39#endif
40
41