• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef _UAPILINUX_NBD_H
8 #define _UAPILINUX_NBD_H
9 #include <linux/types.h>
10 #define NBD_SET_SOCK _IO(0xab, 0)
11 #define NBD_SET_BLKSIZE _IO(0xab, 1)
12 #define NBD_SET_SIZE _IO(0xab, 2)
13 #define NBD_DO_IT _IO(0xab, 3)
14 #define NBD_CLEAR_SOCK _IO(0xab, 4)
15 #define NBD_CLEAR_QUE _IO(0xab, 5)
16 #define NBD_PRINT_DEBUG _IO(0xab, 6)
17 #define NBD_SET_SIZE_BLOCKS _IO(0xab, 7)
18 #define NBD_DISCONNECT _IO(0xab, 8)
19 #define NBD_SET_TIMEOUT _IO(0xab, 9)
20 #define NBD_SET_FLAGS _IO(0xab, 10)
21 enum {
22   NBD_CMD_READ = 0,
23   NBD_CMD_WRITE = 1,
24   NBD_CMD_DISC = 2,
25   NBD_CMD_FLUSH = 3,
26   NBD_CMD_TRIM = 4,
27   NBD_CMD_WRITE_ZEROES = 6,
28 };
29 #define NBD_FLAG_HAS_FLAGS (1 << 0)
30 #define NBD_FLAG_READ_ONLY (1 << 1)
31 #define NBD_FLAG_SEND_FLUSH (1 << 2)
32 #define NBD_FLAG_SEND_FUA (1 << 3)
33 #define NBD_FLAG_ROTATIONAL (1 << 4)
34 #define NBD_FLAG_SEND_TRIM (1 << 5)
35 #define NBD_FLAG_SEND_WRITE_ZEROES (1 << 6)
36 #define NBD_FLAG_CAN_MULTI_CONN (1 << 8)
37 #define NBD_CMD_FLAG_FUA (1 << 16)
38 #define NBD_CMD_FLAG_NO_HOLE (1 << 17)
39 #define NBD_CFLAG_DESTROY_ON_DISCONNECT (1 << 0)
40 #define NBD_CFLAG_DISCONNECT_ON_CLOSE (1 << 1)
41 #define NBD_REQUEST_MAGIC 0x25609513
42 #define NBD_REPLY_MAGIC 0x67446698
43 struct nbd_request {
44   __be32 magic;
45   __be32 type;
46   union {
47     __be64 cookie;
48     char handle[8];
49   };
50   __be64 from;
51   __be32 len;
52 } __attribute__((packed));
53 struct nbd_reply {
54   __be32 magic;
55   __be32 error;
56   union {
57     __be64 cookie;
58     char handle[8];
59   };
60 };
61 #endif
62