hv_vstorage.h (256276) | hv_vstorage.h (282212) |
---|---|
1/*- 2 * Copyright (c) 2009-2012 Microsoft Corp. 3 * Copyright (c) 2012 NetApp Inc. 4 * Copyright (c) 2012 Citrix Inc. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 11 unchanged lines hidden (view full) --- 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * | 1/*- 2 * Copyright (c) 2009-2012 Microsoft Corp. 3 * Copyright (c) 2012 NetApp Inc. 4 * Copyright (c) 2012 Citrix Inc. 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 11 unchanged lines hidden (view full) --- 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * |
28 * $FreeBSD: head/sys/dev/hyperv/storvsc/hv_vstorage.h 256276 2013-10-10 16:25:53Z dim $ | 28 * $FreeBSD: head/sys/dev/hyperv/storvsc/hv_vstorage.h 282212 2015-04-29 10:12:34Z whu $ |
29 */ 30 31#ifndef __HV_VSTORAGE_H__ 32#define __HV_VSTORAGE_H__ 33 34/* 35 * Major/minor macros. Minor version is in LSB, meaning that earlier flat 36 * version numbers will be interpreted as "0.x" (i.e., 1 becomes 0.1). --- 11 unchanged lines hidden (view full) --- 48 49/* 50 * Version history: 51 * V1 Beta 0.1 52 * V1 RC < 2008/1/31 1.0 53 * V1 RC > 2008/1/31 2.0 54 */ 55 | 29 */ 30 31#ifndef __HV_VSTORAGE_H__ 32#define __HV_VSTORAGE_H__ 33 34/* 35 * Major/minor macros. Minor version is in LSB, meaning that earlier flat 36 * version numbers will be interpreted as "0.x" (i.e., 1 becomes 0.1). --- 11 unchanged lines hidden (view full) --- 48 49/* 50 * Version history: 51 * V1 Beta 0.1 52 * V1 RC < 2008/1/31 1.0 53 * V1 RC > 2008/1/31 2.0 54 */ 55 |
56#define VMSTOR_PROTOCOL_VERSION_CURRENT VMSTOR_PROTOCOL_VERSION(2, 0) | 56#define VMSTOR_PROTOCOL_VERSION_CURRENT VMSTOR_PROTOCOL_VERSION(5, 1) |
57 58/** 59 * Packet structure ops describing virtual storage requests. 60 */ 61enum vstor_packet_ops { 62 VSTOR_OPERATION_COMPLETEIO = 1, 63 VSTOR_OPERATION_REMOVEDEVICE = 2, 64 VSTOR_OPERATION_EXECUTESRB = 3, 65 VSTOR_OPERATION_RESETLUN = 4, 66 VSTOR_OPERATION_RESETADAPTER = 5, 67 VSTOR_OPERATION_RESETBUS = 6, 68 VSTOR_OPERATION_BEGININITIALIZATION = 7, 69 VSTOR_OPERATION_ENDINITIALIZATION = 8, 70 VSTOR_OPERATION_QUERYPROTOCOLVERSION = 9, 71 VSTOR_OPERATION_QUERYPROPERTIES = 10, | 57 58/** 59 * Packet structure ops describing virtual storage requests. 60 */ 61enum vstor_packet_ops { 62 VSTOR_OPERATION_COMPLETEIO = 1, 63 VSTOR_OPERATION_REMOVEDEVICE = 2, 64 VSTOR_OPERATION_EXECUTESRB = 3, 65 VSTOR_OPERATION_RESETLUN = 4, 66 VSTOR_OPERATION_RESETADAPTER = 5, 67 VSTOR_OPERATION_RESETBUS = 6, 68 VSTOR_OPERATION_BEGININITIALIZATION = 7, 69 VSTOR_OPERATION_ENDINITIALIZATION = 8, 70 VSTOR_OPERATION_QUERYPROTOCOLVERSION = 9, 71 VSTOR_OPERATION_QUERYPROPERTIES = 10, |
72 VSTOR_OPERATION_MAXIMUM = 10 | 72 VSTOR_OPERATION_ENUMERATE_BUS = 11, 73 VSTOR_OPERATION_FCHBA_DATA = 12, 74 VSTOR_OPERATION_CREATE_MULTI_CHANNELS = 13, 75 VSTOR_OPERATION_MAXIMUM = 13 |
73}; 74 75 76/* 77 * Platform neutral description of a scsi request - 78 * this remains the same across the write regardless of 32/64 bit 79 * note: it's patterned off the Windows DDK SCSI_PASS_THROUGH structure 80 */ --- 37 unchanged lines hidden (view full) --- 118 * properties of the channel. 119 */ 120 121struct vmstor_chan_props { 122 uint16_t proto_ver; 123 uint8_t path_id; 124 uint8_t target_id; 125 | 76}; 77 78 79/* 80 * Platform neutral description of a scsi request - 81 * this remains the same across the write regardless of 32/64 bit 82 * note: it's patterned off the Windows DDK SCSI_PASS_THROUGH structure 83 */ --- 37 unchanged lines hidden (view full) --- 121 * properties of the channel. 122 */ 123 124struct vmstor_chan_props { 125 uint16_t proto_ver; 126 uint8_t path_id; 127 uint8_t target_id; 128 |
129 uint16_t max_channel_cnt; 130 |
|
126 /** 127 * Note: port number is only really known on the client side 128 */ | 131 /** 132 * Note: port number is only really known on the client side 133 */ |
129 uint32_t port; | 134 uint16_t port; |
130 uint32_t flags; 131 uint32_t max_transfer_bytes; 132 133 /** 134 * This id is unique for each channel and will correspond with 135 * vendor specific data in the inquiry_ata 136 */ 137 uint64_t unique_id; --- 50 unchanged lines hidden (view full) --- 188 * Structure used to query channel properties. 189 */ 190 struct vmstor_chan_props chan_props; 191 192 /** 193 * Used during version negotiations. 194 */ 195 struct vmstor_proto_ver version; | 135 uint32_t flags; 136 uint32_t max_transfer_bytes; 137 138 /** 139 * This id is unique for each channel and will correspond with 140 * vendor specific data in the inquiry_ata 141 */ 142 uint64_t unique_id; --- 50 unchanged lines hidden (view full) --- 193 * Structure used to query channel properties. 194 */ 195 struct vmstor_chan_props chan_props; 196 197 /** 198 * Used during version negotiations. 199 */ 200 struct vmstor_proto_ver version; |
201 202 /** 203 * Number of multichannels to create 204 */ 205 uint16_t multi_channels_cnt; |
|
196 } u; 197 198} __packed; 199 200 201/** 202 * SRB (SCSI Request Block) Status Codes 203 */ --- 30 unchanged lines hidden --- | 206 } u; 207 208} __packed; 209 210 211/** 212 * SRB (SCSI Request Block) Status Codes 213 */ --- 30 unchanged lines hidden --- |