linux-headers (unknown)

(root)/
include/
linux/
connector.h
       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 __CONNECTOR_H
      24  #define __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[];
      79  };
      80  
      81  #endif /* __CONNECTOR_H */