Deleted Added
full compact
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 ---