aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/linux-headers/linux/connector.h
blob: 1e31098fab07910f7fef7e4db4629272479faf8b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 
/* 
 * 	connector.h 
 *  
 * 2004-2005 Copyright (c) Evgeniy Polyakov <zbr@ioremap.net> 
 * All rights reserved. 
 *  
 * This program is free software; you can redistribute it and/or modify 
 * it under the terms of the GNU General Public License as published by 
 * the Free Software Foundation; either version 2 of the License, or 
 * (at your option) any later version. 
 * 
 * This program is distributed in the hope that it will be useful, 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 * GNU General Public License for more details. 
 * 
 * You should have received a copy of the GNU General Public License 
 * along with this program; if not, write to the Free Software 
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
 */ 
 
#ifndef __CONNECTOR_H 
#define __CONNECTOR_H 
 
#include <linux/types.h> 
 
/* 
 * Process Events connector unique ids -- used for message routing 
 */ 
#define CN_IDX_PROC			0x1 
#define CN_VAL_PROC			0x1 
#define CN_IDX_CIFS			0x2 
#define CN_VAL_CIFS                     0x1 
#define CN_W1_IDX			0x3	/* w1 communication */ 
#define CN_W1_VAL			0x1 
#define CN_IDX_V86D			0x4 
#define CN_VAL_V86D_UVESAFB		0x1 
#define CN_IDX_BB			0x5	/* BlackBoard, from the TSP GPL sampling framework */ 
#define CN_DST_IDX			0x6 
#define CN_DST_VAL			0x1 
#define CN_IDX_DM			0x7	/* Device Mapper */ 
#define CN_VAL_DM_USERSPACE_LOG		0x1 
#define CN_IDX_DRBD			0x8 
#define CN_VAL_DRBD			0x1 
#define CN_KVP_IDX			0x9	/* HyperV KVP */ 
#define CN_KVP_VAL			0x1	/* queries from the kernel */ 
#define CN_VSS_IDX			0xA     /* HyperV VSS */ 
#define CN_VSS_VAL			0x1     /* queries from the kernel */ 
 
 
#define CN_NETLINK_USERS		11	/* Highest index + 1 */ 
 
/* 
 * Maximum connector's message size. 
 */ 
#define CONNECTOR_MAX_MSG_SIZE		16384 
 
/* 
 * idx and val are unique identifiers which  
 * are used for message routing and  
 * must be registered in connector.h for in-kernel usage. 
 */ 
 
struct cb_id { 
	__u32 idx; 
	__u32 val; 
}; 
 
struct cn_msg { 
	struct cb_id id; 
 
	__u32 seq; 
	__u32 ack; 
 
	__u16 len;		/* Length of the following data */ 
	__u16 flags; 
	__u8 data[0]; 
}; 
 
#endif /* __CONNECTOR_H */