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 }; 28 #define NBD_FLAG_HAS_FLAGS (1 << 0) 29 #define NBD_FLAG_READ_ONLY (1 << 1) 30 #define NBD_FLAG_SEND_FLUSH (1 << 2) 31 #define NBD_FLAG_SEND_FUA (1 << 3) 32 #define NBD_FLAG_SEND_TRIM (1 << 5) 33 #define NBD_FLAG_CAN_MULTI_CONN (1 << 8) 34 #define NBD_CMD_FLAG_FUA (1 << 16) 35 #define NBD_CFLAG_DESTROY_ON_DISCONNECT (1 << 0) 36 #define NBD_CFLAG_DISCONNECT_ON_CLOSE (1 << 1) 37 #define NBD_REQUEST_MAGIC 0x25609513 38 #define NBD_REPLY_MAGIC 0x67446698 39 struct nbd_request { 40 __be32 magic; 41 __be32 type; 42 union { 43 __be64 cookie; 44 char handle[8]; 45 }; 46 __be64 from; 47 __be32 len; 48 } __attribute__((packed)); 49 struct nbd_reply { 50 __be32 magic; 51 __be32 error; 52 union { 53 __be64 cookie; 54 char handle[8]; 55 }; 56 }; 57 #endif 58