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