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