101 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2/*3 * Copyright (C) 2017 Facebook. All rights reserved.4 *5 * This program is free software; you can redistribute it and/or6 * modify it under the terms of the GNU General Public7 * License v2 as published by the Free Software Foundation.8 *9 * This program is distributed in the hope that it will be useful,10 * but WITHOUT ANY WARRANTY; without even the implied warranty of11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU12 * General Public License for more details.13 *14 * You should have received a copy of the GNU General Public15 * License along with this program; if not, write to the16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,17 * Boston, MA 021110-1307, USA.18 */19#ifndef _UAPILINUX_NBD_NETLINK_H20#define _UAPILINUX_NBD_NETLINK_H21 22#define NBD_GENL_FAMILY_NAME "nbd"23#define NBD_GENL_VERSION 0x124#define NBD_GENL_MCAST_GROUP_NAME "nbd_mc_group"25 26/* Configuration policy attributes, used for CONNECT */27enum {28 NBD_ATTR_UNSPEC,29 NBD_ATTR_INDEX,30 NBD_ATTR_SIZE_BYTES,31 NBD_ATTR_BLOCK_SIZE_BYTES,32 NBD_ATTR_TIMEOUT,33 NBD_ATTR_SERVER_FLAGS,34 NBD_ATTR_CLIENT_FLAGS,35 NBD_ATTR_SOCKETS,36 NBD_ATTR_DEAD_CONN_TIMEOUT,37 NBD_ATTR_DEVICE_LIST,38 NBD_ATTR_BACKEND_IDENTIFIER,39 __NBD_ATTR_MAX,40};41#define NBD_ATTR_MAX (__NBD_ATTR_MAX - 1)42 43/*44 * This is the format for multiple devices with NBD_ATTR_DEVICE_LIST45 *46 * [NBD_ATTR_DEVICE_LIST]47 * [NBD_DEVICE_ITEM]48 * [NBD_DEVICE_INDEX]49 * [NBD_DEVICE_CONNECTED]50 */51enum {52 NBD_DEVICE_ITEM_UNSPEC,53 NBD_DEVICE_ITEM,54 __NBD_DEVICE_ITEM_MAX,55};56#define NBD_DEVICE_ITEM_MAX (__NBD_DEVICE_ITEM_MAX - 1)57 58enum {59 NBD_DEVICE_UNSPEC,60 NBD_DEVICE_INDEX,61 NBD_DEVICE_CONNECTED,62 __NBD_DEVICE_MAX,63};64#define NBD_DEVICE_ATTR_MAX (__NBD_DEVICE_MAX - 1)65 66/*67 * This is the format for multiple sockets with NBD_ATTR_SOCKETS68 *69 * [NBD_ATTR_SOCKETS]70 * [NBD_SOCK_ITEM]71 * [NBD_SOCK_FD]72 * [NBD_SOCK_ITEM]73 * [NBD_SOCK_FD]74 */75enum {76 NBD_SOCK_ITEM_UNSPEC,77 NBD_SOCK_ITEM,78 __NBD_SOCK_ITEM_MAX,79};80#define NBD_SOCK_ITEM_MAX (__NBD_SOCK_ITEM_MAX - 1)81 82enum {83 NBD_SOCK_UNSPEC,84 NBD_SOCK_FD,85 __NBD_SOCK_MAX,86};87#define NBD_SOCK_MAX (__NBD_SOCK_MAX - 1)88 89enum {90 NBD_CMD_UNSPEC,91 NBD_CMD_CONNECT,92 NBD_CMD_DISCONNECT,93 NBD_CMD_RECONFIGURE,94 NBD_CMD_LINK_DEAD,95 NBD_CMD_STATUS,96 __NBD_CMD_MAX,97};98#define NBD_CMD_MAX (__NBD_CMD_MAX - 1)99 100#endif /* _UAPILINUX_NBD_NETLINK_H */101