Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef _UAPILINUX_NBD_H
     20 #define _UAPILINUX_NBD_H
     21 #include <linux/types.h>
     22 #define NBD_SET_SOCK _IO(0xab, 0)
     23 #define NBD_SET_BLKSIZE _IO(0xab, 1)
     24 #define NBD_SET_SIZE _IO(0xab, 2)
     25 #define NBD_DO_IT _IO(0xab, 3)
     26 #define NBD_CLEAR_SOCK _IO(0xab, 4)
     27 #define NBD_CLEAR_QUE _IO(0xab, 5)
     28 #define NBD_PRINT_DEBUG _IO(0xab, 6)
     29 #define NBD_SET_SIZE_BLOCKS _IO(0xab, 7)
     30 #define NBD_DISCONNECT _IO(0xab, 8)
     31 #define NBD_SET_TIMEOUT _IO(0xab, 9)
     32 #define NBD_SET_FLAGS _IO(0xab, 10)
     33 enum {
     34   NBD_CMD_READ = 0,
     35   NBD_CMD_WRITE = 1,
     36   NBD_CMD_DISC = 2,
     37   NBD_CMD_FLUSH = 3,
     38   NBD_CMD_TRIM = 4
     39 };
     40 #define NBD_FLAG_HAS_FLAGS (1 << 0)
     41 #define NBD_FLAG_READ_ONLY (1 << 1)
     42 #define NBD_FLAG_SEND_FLUSH (1 << 2)
     43 #define NBD_FLAG_SEND_TRIM (1 << 5)
     44 #define NBD_FLAG_CAN_MULTI_CONN (1 << 8)
     45 #define NBD_REQUEST_MAGIC 0x25609513
     46 #define NBD_REPLY_MAGIC 0x67446698
     47 struct nbd_request {
     48   __be32 magic;
     49   __be32 type;
     50   char handle[8];
     51   __be64 from;
     52   __be32 len;
     53 } __attribute__((packed));
     54 struct nbd_reply {
     55   __be32 magic;
     56   __be32 error;
     57   char handle[8];
     58 };
     59 #endif
     60