41 lines
759 B
C
41 lines
759 B
C
|
/*
|
||
|
* 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
|
||
|
|