linux-headers (unknown)

(root)/
include/
linux/
nbd-netlink.h
       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/or
       6   * modify it under the terms of the GNU General Public
       7   * 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 of
      11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      12   * General Public License for more details.
      13   *
      14   * You should have received a copy of the GNU General Public
      15   * License along with this program; if not, write to the
      16   * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
      17   * Boston, MA 021110-1307, USA.
      18   */
      19  #ifndef LINUX_NBD_NETLINK_H
      20  #define LINUX_NBD_NETLINK_H
      21  
      22  #define NBD_GENL_FAMILY_NAME		"nbd"
      23  #define NBD_GENL_VERSION		0x1
      24  #define NBD_GENL_MCAST_GROUP_NAME	"nbd_mc_group"
      25  
      26  /* Configuration policy attributes, used for CONNECT */
      27  enum {
      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_LIST
      45   *
      46   * [NBD_ATTR_DEVICE_LIST]
      47   *   [NBD_DEVICE_ITEM]
      48   *     [NBD_DEVICE_INDEX]
      49   *     [NBD_DEVICE_CONNECTED]
      50   */
      51  enum {
      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  
      58  enum {
      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_SOCKETS
      68   *
      69   * [NBD_ATTR_SOCKETS]
      70   *   [NBD_SOCK_ITEM]
      71   *     [NBD_SOCK_FD]
      72   *   [NBD_SOCK_ITEM]
      73   *     [NBD_SOCK_FD]
      74   */
      75  enum {
      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  
      82  enum {
      83  	NBD_SOCK_UNSPEC,
      84  	NBD_SOCK_FD,
      85  	__NBD_SOCK_MAX,
      86  };
      87  #define NBD_SOCK_MAX (__NBD_SOCK_MAX - 1)
      88  
      89  enum {
      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 /* LINUX_NBD_NETLINK_H */