root/include/uapi/linux/connector.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


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

/* [<][>][^][v][top][bottom][index][help] */