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