1 #ifndef __nosy_dump_h__
2 #define __nosy_dump_h__
4 #define array_length(array) (sizeof(array) / sizeof(array[0]))
6 #define TCODE_WRITE_QUADLET 0x0
7 #define TCODE_WRITE_BLOCK 0x1
8 #define TCODE_WRITE_RESPONSE 0x2
9 #define TCODE_READ_QUADLET 0x4
10 #define TCODE_READ_BLOCK 0x5
11 #define TCODE_READ_QUADLET_RESPONSE 0x6
12 #define TCODE_READ_BLOCK_RESPONSE 0x7
13 #define TCODE_CYCLE_START 0x8
14 #define TCODE_LOCK_REQUEST 0x9
15 #define TCODE_ISO_DATA 0xa
16 #define TCODE_LOCK_RESPONSE 0xb
17 #define TCODE_PHY_PACKET 0x10
19 #define ACK_NO_ACK 0x0
20 #define ACK_COMPLETE 0x1
21 #define ACK_PENDING 0x2
22 #define ACK_BUSY_X 0x4
23 #define ACK_BUSY_A 0x5
24 #define ACK_BUSY_B 0x6
25 #define ACK_DATA_ERROR 0xd
26 #define ACK_TYPE_ERROR 0xe
28 #define ACK_DONE(a) ((a >> 2) == 0)
29 #define ACK_BUSY(a) ((a >> 2) == 1)
30 #define ACK_ERROR(a) ((a >> 2) == 3)
37 unsigned long timestamp
;
41 unsigned int zero
: 24;
42 unsigned int phy_id
: 6;
43 unsigned int identifier
: 2;
46 unsigned int zero
: 16;
47 unsigned int gap_count
: 6;
48 unsigned int set_gap_count
: 1;
49 unsigned int set_root
: 1;
50 unsigned int root_id
: 6;
51 unsigned int identifier
: 2;
54 unsigned int more_packets
: 1;
55 unsigned int initiated_reset
: 1;
56 unsigned int port2
: 2;
57 unsigned int port1
: 2;
58 unsigned int port0
: 2;
59 unsigned int power_class
: 3;
60 unsigned int contender
: 1;
61 unsigned int phy_delay
: 2;
62 unsigned int phy_speed
: 2;
63 unsigned int gap_count
: 6;
64 unsigned int link_active
: 1;
65 unsigned int extended
: 1;
66 unsigned int phy_id
: 6;
67 unsigned int identifier
: 2;
71 unsigned int more_packets
: 1;
72 unsigned int reserved1
: 1;
73 unsigned int porth
: 2;
74 unsigned int portg
: 2;
75 unsigned int portf
: 2;
76 unsigned int porte
: 2;
77 unsigned int portd
: 2;
78 unsigned int portc
: 2;
79 unsigned int portb
: 2;
80 unsigned int porta
: 2;
81 unsigned int reserved0
: 2;
82 unsigned int sequence
: 3;
83 unsigned int extended
: 1;
84 unsigned int phy_id
: 6;
85 unsigned int identifier
: 2;
89 unsigned long inverted
;
93 #define PHY_PACKET_CONFIGURATION 0x00
94 #define PHY_PACKET_LINK_ON 0x01
95 #define PHY_PACKET_SELF_ID 0x02
98 unsigned long timestamp
;
102 unsigned int priority
: 4;
103 unsigned int tcode
: 4;
105 unsigned int tlabel
: 6;
106 unsigned int destination
: 16;
108 unsigned int offset_high
: 16;
109 unsigned int source
: 16;
111 unsigned long offset_low
;
115 unsigned int priority
: 4;
116 unsigned int tcode
: 4;
118 unsigned int tlabel
: 6;
119 unsigned int destination
: 16;
121 unsigned int offset_high
: 16;
122 unsigned int source
: 16;
124 unsigned long offset_low
;
130 unsigned int priority
: 4;
131 unsigned int tcode
: 4;
133 unsigned int tlabel
: 6;
134 unsigned int destination
: 16;
136 unsigned int reserved0
: 12;
137 unsigned int rcode
: 4;
138 unsigned int source
: 16;
140 unsigned long reserved1
;
145 } read_quadlet_response
;
148 unsigned int priority
: 4;
149 unsigned int tcode
: 4;
151 unsigned int tlabel
: 6;
152 unsigned int destination
: 16;
154 unsigned int offset_high
: 16;
155 unsigned int source
: 16;
157 unsigned long offset_low
;
159 unsigned int extended_tcode
: 16;
160 unsigned int data_length
: 16;
166 unsigned int priority
: 4;
167 unsigned int tcode
: 4;
169 unsigned int tlabel
: 6;
170 unsigned int destination
: 16;
172 unsigned int reserved0
: 12;
173 unsigned int rcode
: 4;
174 unsigned int source
: 16;
176 unsigned long reserved1
;
178 unsigned int extended_tcode
: 16;
179 unsigned int data_length
: 16;
183 unsigned long data
[0];
185 /* crc and ack follows. */
187 } read_block_response
;
190 unsigned int priority
: 4;
191 unsigned int tcode
: 4;
193 unsigned int tlabel
: 6;
194 unsigned int destination
: 16;
196 unsigned int offset_high
: 16;
197 unsigned int source
: 16;
199 unsigned long offset_low
;
208 unsigned int priority
: 4;
209 unsigned int tcode
: 4;
211 unsigned int tlabel
: 6;
212 unsigned int destination
: 16;
214 unsigned int offset_high
: 16;
215 unsigned int source
: 16;
217 unsigned int offset_low
: 32;
219 unsigned int extended_tcode
: 16;
220 unsigned int data_length
: 16;
223 unsigned long data
[0];
225 /* crc and ack follows. */
230 unsigned int priority
: 4;
231 unsigned int tcode
: 4;
233 unsigned int tlabel
: 6;
234 unsigned int destination
: 16;
236 unsigned int reserved0
: 12;
237 unsigned int rcode
: 4;
238 unsigned int source
: 16;
240 unsigned long reserved1
;
246 unsigned int priority
: 4;
247 unsigned int tcode
: 4;
249 unsigned int tlabel
: 6;
250 unsigned int destination
: 16;
252 unsigned int offset_high
: 16;
253 unsigned int source
: 16;
255 unsigned long offset_low
;
264 unsigned int tcode
: 4;
265 unsigned int channel
: 6;
266 unsigned int tag
: 2;
267 unsigned int data_length
: 16;
280 struct link_packet packet
;
283 struct link_transaction
{
284 int request_node
, response_node
, tlabel
;
285 struct subaction
*request
, *response
;
286 struct list request_list
, response_list
;
290 int decode_fcp(struct link_transaction
*t
);
292 #endif /* __nosy_dump_h__ */
This page took 0.037871 seconds and 6 git commands to generate.