diff options
| author | Michael S. Tsirkin <mst@redhat.com> | 2014-11-23 10:49:12 -0500 |
|---|---|---|
| committer | Michael S. Tsirkin <mst@redhat.com> | 2014-12-09 05:06:31 -0500 |
| commit | fba7f020e80d59a90d6135b0965cd488cc86f695 (patch) | |
| tree | db09e2130b2f5ce6b7ce9b893b23e2736489f283 /include/uapi/linux | |
| parent | 106d81f58a5e7f41e857b8805e9d899e87d7a874 (diff) | |
virtio_scsi: export to userspace
Replace uXX by __uXX and _packed by __attribute((packed))
as seems to be the norm for userspace headers.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/Kbuild | 1 | ||||
| -rw-r--r-- | include/uapi/linux/virtio_scsi.h | 74 |
2 files changed, 38 insertions, 37 deletions
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 615f96a6022a..2e8fd10f0299 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild | |||
| @@ -428,6 +428,7 @@ header-y += virtio_net.h | |||
| 428 | header-y += virtio_pci.h | 428 | header-y += virtio_pci.h |
| 429 | header-y += virtio_ring.h | 429 | header-y += virtio_ring.h |
| 430 | header-y += virtio_rng.h | 430 | header-y += virtio_rng.h |
| 431 | header-y += virtio_scsi.h | ||
| 431 | header-y += vm_sockets.h | 432 | header-y += vm_sockets.h |
| 432 | header-y += vt.h | 433 | header-y += vt.h |
| 433 | header-y += wait.h | 434 | header-y += wait.h |
diff --git a/include/uapi/linux/virtio_scsi.h b/include/uapi/linux/virtio_scsi.h index af448649a975..42b9370771b0 100644 --- a/include/uapi/linux/virtio_scsi.h +++ b/include/uapi/linux/virtio_scsi.h | |||
| @@ -34,78 +34,78 @@ | |||
| 34 | 34 | ||
| 35 | /* SCSI command request, followed by data-out */ | 35 | /* SCSI command request, followed by data-out */ |
| 36 | struct virtio_scsi_cmd_req { | 36 | struct virtio_scsi_cmd_req { |
| 37 | u8 lun[8]; /* Logical Unit Number */ | 37 | __u8 lun[8]; /* Logical Unit Number */ |
| 38 | __virtio64 tag; /* Command identifier */ | 38 | __virtio64 tag; /* Command identifier */ |
| 39 | u8 task_attr; /* Task attribute */ | 39 | __u8 task_attr; /* Task attribute */ |
| 40 | u8 prio; /* SAM command priority field */ | 40 | __u8 prio; /* SAM command priority field */ |
| 41 | u8 crn; | 41 | __u8 crn; |
| 42 | u8 cdb[VIRTIO_SCSI_CDB_SIZE]; | 42 | __u8 cdb[VIRTIO_SCSI_CDB_SIZE]; |
| 43 | } __packed; | 43 | } __attribute__((packed)); |
| 44 | 44 | ||
| 45 | /* SCSI command request, followed by protection information */ | 45 | /* SCSI command request, followed by protection information */ |
| 46 | struct virtio_scsi_cmd_req_pi { | 46 | struct virtio_scsi_cmd_req_pi { |
| 47 | u8 lun[8]; /* Logical Unit Number */ | 47 | __u8 lun[8]; /* Logical Unit Number */ |
| 48 | __virtio64 tag; /* Command identifier */ | 48 | __virtio64 tag; /* Command identifier */ |
| 49 | u8 task_attr; /* Task attribute */ | 49 | __u8 task_attr; /* Task attribute */ |
| 50 | u8 prio; /* SAM command priority field */ | 50 | __u8 prio; /* SAM command priority field */ |
| 51 | u8 crn; | 51 | __u8 crn; |
| 52 | __virtio32 pi_bytesout; /* DataOUT PI Number of bytes */ | 52 | __virtio32 pi_bytesout; /* DataOUT PI Number of bytes */ |
| 53 | __virtio32 pi_bytesin; /* DataIN PI Number of bytes */ | 53 | __virtio32 pi_bytesin; /* DataIN PI Number of bytes */ |
| 54 | u8 cdb[VIRTIO_SCSI_CDB_SIZE]; | 54 | __u8 cdb[VIRTIO_SCSI_CDB_SIZE]; |
| 55 | } __packed; | 55 | } __attribute__((packed)); |
| 56 | 56 | ||
| 57 | /* Response, followed by sense data and data-in */ | 57 | /* Response, followed by sense data and data-in */ |
| 58 | struct virtio_scsi_cmd_resp { | 58 | struct virtio_scsi_cmd_resp { |
| 59 | __virtio32 sense_len; /* Sense data length */ | 59 | __virtio32 sense_len; /* Sense data length */ |
| 60 | __virtio32 resid; /* Residual bytes in data buffer */ | 60 | __virtio32 resid; /* Residual bytes in data buffer */ |
| 61 | __virtio16 status_qualifier; /* Status qualifier */ | 61 | __virtio16 status_qualifier; /* Status qualifier */ |
| 62 | u8 status; /* Command completion status */ | 62 | __u8 status; /* Command completion status */ |
| 63 | u8 response; /* Response values */ | 63 | __u8 response; /* Response values */ |
| 64 | u8 sense[VIRTIO_SCSI_SENSE_SIZE]; | 64 | __u8 sense[VIRTIO_SCSI_SENSE_SIZE]; |
| 65 | } __packed; | 65 | } __attribute__((packed)); |
| 66 | 66 | ||
| 67 | /* Task Management Request */ | 67 | /* Task Management Request */ |
| 68 | struct virtio_scsi_ctrl_tmf_req { | 68 | struct virtio_scsi_ctrl_tmf_req { |
| 69 | __virtio32 type; | 69 | __virtio32 type; |
| 70 | __virtio32 subtype; | 70 | __virtio32 subtype; |
| 71 | u8 lun[8]; | 71 | __u8 lun[8]; |
| 72 | __virtio64 tag; | 72 | __virtio64 tag; |
| 73 | } __packed; | 73 | } __attribute__((packed)); |
| 74 | 74 | ||
| 75 | struct virtio_scsi_ctrl_tmf_resp { | 75 | struct virtio_scsi_ctrl_tmf_resp { |
| 76 | u8 response; | 76 | __u8 response; |
| 77 | } __packed; | 77 | } __attribute__((packed)); |
| 78 | 78 | ||
| 79 | /* Asynchronous notification query/subscription */ | 79 | /* Asynchronous notification query/subscription */ |
| 80 | struct virtio_scsi_ctrl_an_req { | 80 | struct virtio_scsi_ctrl_an_req { |
| 81 | __virtio32 type; | 81 | __virtio32 type; |
| 82 | u8 lun[8]; | 82 | __u8 lun[8]; |
| 83 | __virtio32 event_requested; | 83 | __virtio32 event_requested; |
| 84 | } __packed; | 84 | } __attribute__((packed)); |
| 85 | 85 | ||
| 86 | struct virtio_scsi_ctrl_an_resp { | 86 | struct virtio_scsi_ctrl_an_resp { |
| 87 | __virtio32 event_actual; | 87 | __virtio32 event_actual; |
| 88 | u8 response; | 88 | __u8 response; |
| 89 | } __packed; | 89 | } __attribute__((packed)); |
| 90 | 90 | ||
| 91 | struct virtio_scsi_event { | 91 | struct virtio_scsi_event { |
| 92 | __virtio32 event; | 92 | __virtio32 event; |
| 93 | u8 lun[8]; | 93 | __u8 lun[8]; |
| 94 | __virtio32 reason; | 94 | __virtio32 reason; |
| 95 | } __packed; | 95 | } __attribute__((packed)); |
| 96 | 96 | ||
| 97 | struct virtio_scsi_config { | 97 | struct virtio_scsi_config { |
| 98 | u32 num_queues; | 98 | __u32 num_queues; |
| 99 | u32 seg_max; | 99 | __u32 seg_max; |
| 100 | u32 max_sectors; | 100 | __u32 max_sectors; |
| 101 | u32 cmd_per_lun; | 101 | __u32 cmd_per_lun; |
| 102 | u32 event_info_size; | 102 | __u32 event_info_size; |
| 103 | u32 sense_size; | 103 | __u32 sense_size; |
| 104 | u32 cdb_size; | 104 | __u32 cdb_size; |
| 105 | u16 max_channel; | 105 | __u16 max_channel; |
| 106 | u16 max_target; | 106 | __u16 max_target; |
| 107 | u32 max_lun; | 107 | __u32 max_lun; |
| 108 | } __packed; | 108 | } __attribute__((packed)); |
| 109 | 109 | ||
| 110 | /* Feature Bits */ | 110 | /* Feature Bits */ |
| 111 | #define VIRTIO_SCSI_F_INOUT 0 | 111 | #define VIRTIO_SCSI_F_INOUT 0 |
