![Tom Herbert](/assets/img/avatar_default.png)
This module implements the Kernel Connection Multiplexor. Kernel Connection Multiplexor (KCM) is a facility that provides a message based interface over TCP for generic application protocols. With KCM an application can efficiently send and receive application protocol messages over TCP using datagram sockets. For more information see the included Documentation/networking/kcm.txt Signed-off-by: Tom Herbert <tom@herbertland.com> Signed-off-by: David S. Miller <davem@davemloft.net>
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
|
|
|