82 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */2/*3 * connector.h4 * 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 modify9 * it under the terms of the GNU General Public License as published by10 * the Free Software Foundation; either version 2 of the License, or11 * (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 of15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the16 * GNU General Public License for more details.17 *18 * You should have received a copy of the GNU General Public License19 * along with this program; if not, write to the Free Software20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA21 */22 23#ifndef _UAPI__CONNECTOR_H24#define _UAPI__CONNECTOR_H25 26#include <linux/types.h>27 28/*29 * Process Events connector unique ids -- used for message routing30 */31#define CN_IDX_PROC 0x132#define CN_VAL_PROC 0x133#define CN_IDX_CIFS 0x234#define CN_VAL_CIFS 0x135#define CN_W1_IDX 0x3 /* w1 communication */36#define CN_W1_VAL 0x137#define CN_IDX_V86D 0x438#define CN_VAL_V86D_UVESAFB 0x139#define CN_IDX_BB 0x5 /* BlackBoard, from the TSP GPL sampling framework */40#define CN_DST_IDX 0x641#define CN_DST_VAL 0x142#define CN_IDX_DM 0x7 /* Device Mapper */43#define CN_VAL_DM_USERSPACE_LOG 0x144#define CN_IDX_DRBD 0x845#define CN_VAL_DRBD 0x146#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 1638458 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 65struct cb_id {66 __u32 idx;67 __u32 val;68};69 70struct 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 /* _UAPI__CONNECTOR_H */82