]> git.karo-electronics.de Git - karo-tx-linux.git/blob - drivers/scsi/bfa/bfad_bsg.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[karo-tx-linux.git] / drivers / scsi / bfa / bfad_bsg.h
1 /*
2  * Copyright (c) 2005-2010 Brocade Communications Systems, Inc.
3  * All rights reserved
4  * www.brocade.com
5  *
6  * Linux driver for Brocade Fibre Channel Host Bus Adapter.
7  *
8  * This program is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU General Public License (GPL) Version 2 as
10  * published by the Free Software Foundation
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * General Public License for more details.
16  */
17 #ifndef BFAD_BSG_H
18 #define BFAD_BSG_H
19
20 #include "bfa_defs.h"
21 #include "bfa_defs_fcs.h"
22
23 /* Definitions of vendor unique structures and command codes passed in
24  * using FC_BSG_HST_VENDOR message code.
25  */
26 enum {
27         IOCMD_IOC_ENABLE = 0x1,
28         IOCMD_IOC_DISABLE,
29         IOCMD_IOC_GET_ATTR,
30         IOCMD_IOC_GET_INFO,
31         IOCMD_IOC_GET_STATS,
32         IOCMD_IOC_GET_FWSTATS,
33         IOCMD_IOC_RESET_STATS,
34         IOCMD_IOC_RESET_FWSTATS,
35         IOCMD_IOC_SET_ADAPTER_NAME,
36         IOCMD_IOC_SET_PORT_NAME,
37         IOCMD_IOCFC_GET_ATTR,
38         IOCMD_IOCFC_SET_INTR,
39         IOCMD_PORT_ENABLE,
40         IOCMD_PORT_DISABLE,
41         IOCMD_PORT_GET_ATTR,
42         IOCMD_PORT_GET_STATS,
43         IOCMD_PORT_RESET_STATS,
44         IOCMD_PORT_CFG_TOPO,
45         IOCMD_PORT_CFG_SPEED,
46         IOCMD_PORT_CFG_ALPA,
47         IOCMD_PORT_CFG_MAXFRSZ,
48         IOCMD_PORT_CLR_ALPA,
49         IOCMD_PORT_BBSC_ENABLE,
50         IOCMD_PORT_BBSC_DISABLE,
51         IOCMD_LPORT_GET_ATTR,
52         IOCMD_LPORT_GET_RPORTS,
53         IOCMD_LPORT_GET_STATS,
54         IOCMD_LPORT_RESET_STATS,
55         IOCMD_LPORT_GET_IOSTATS,
56         IOCMD_RPORT_GET_ATTR,
57         IOCMD_RPORT_GET_ADDR,
58         IOCMD_RPORT_GET_STATS,
59         IOCMD_RPORT_RESET_STATS,
60         IOCMD_RPORT_SET_SPEED,
61         IOCMD_VPORT_GET_ATTR,
62         IOCMD_VPORT_GET_STATS,
63         IOCMD_VPORT_RESET_STATS,
64         IOCMD_FABRIC_GET_LPORTS,
65         IOCMD_RATELIM_ENABLE,
66         IOCMD_RATELIM_DISABLE,
67         IOCMD_RATELIM_DEF_SPEED,
68         IOCMD_FCPIM_FAILOVER,
69         IOCMD_FCPIM_MODSTATS,
70         IOCMD_FCPIM_MODSTATSCLR,
71         IOCMD_FCPIM_DEL_ITN_STATS,
72         IOCMD_ITNIM_GET_ATTR,
73         IOCMD_ITNIM_GET_IOSTATS,
74         IOCMD_ITNIM_RESET_STATS,
75         IOCMD_ITNIM_GET_ITNSTATS,
76         IOCMD_IOC_PCIFN_CFG,
77         IOCMD_FCPORT_ENABLE,
78         IOCMD_FCPORT_DISABLE,
79         IOCMD_PCIFN_CREATE,
80         IOCMD_PCIFN_DELETE,
81         IOCMD_PCIFN_BW,
82         IOCMD_ADAPTER_CFG_MODE,
83         IOCMD_PORT_CFG_MODE,
84         IOCMD_FLASH_ENABLE_OPTROM,
85         IOCMD_FLASH_DISABLE_OPTROM,
86         IOCMD_FAA_QUERY,
87         IOCMD_CEE_GET_ATTR,
88         IOCMD_CEE_GET_STATS,
89         IOCMD_CEE_RESET_STATS,
90         IOCMD_SFP_MEDIA,
91         IOCMD_SFP_SPEED,
92         IOCMD_FLASH_GET_ATTR,
93         IOCMD_FLASH_ERASE_PART,
94         IOCMD_FLASH_UPDATE_PART,
95         IOCMD_FLASH_READ_PART,
96         IOCMD_DIAG_TEMP,
97         IOCMD_DIAG_MEMTEST,
98         IOCMD_DIAG_LOOPBACK,
99         IOCMD_DIAG_FWPING,
100         IOCMD_DIAG_QUEUETEST,
101         IOCMD_DIAG_SFP,
102         IOCMD_DIAG_LED,
103         IOCMD_DIAG_BEACON_LPORT,
104         IOCMD_DIAG_LB_STAT,
105         IOCMD_PHY_GET_ATTR,
106         IOCMD_PHY_GET_STATS,
107         IOCMD_PHY_UPDATE_FW,
108         IOCMD_PHY_READ_FW,
109         IOCMD_VHBA_QUERY,
110         IOCMD_DEBUG_PORTLOG,
111         IOCMD_DEBUG_FW_CORE,
112         IOCMD_DEBUG_FW_STATE_CLR,
113         IOCMD_DEBUG_PORTLOG_CLR,
114         IOCMD_DEBUG_START_DTRC,
115         IOCMD_DEBUG_STOP_DTRC,
116         IOCMD_DEBUG_PORTLOG_CTL,
117         IOCMD_FCPIM_PROFILE_ON,
118         IOCMD_FCPIM_PROFILE_OFF,
119         IOCMD_ITNIM_GET_IOPROFILE,
120         IOCMD_FCPORT_GET_STATS,
121         IOCMD_FCPORT_RESET_STATS,
122         IOCMD_BOOT_CFG,
123         IOCMD_BOOT_QUERY,
124         IOCMD_PREBOOT_QUERY,
125         IOCMD_ETHBOOT_CFG,
126         IOCMD_ETHBOOT_QUERY,
127         IOCMD_TRUNK_ENABLE,
128         IOCMD_TRUNK_DISABLE,
129         IOCMD_TRUNK_GET_ATTR,
130         IOCMD_QOS_ENABLE,
131         IOCMD_QOS_DISABLE,
132         IOCMD_QOS_GET_ATTR,
133         IOCMD_QOS_GET_VC_ATTR,
134         IOCMD_QOS_GET_STATS,
135         IOCMD_QOS_RESET_STATS,
136         IOCMD_VF_GET_STATS,
137         IOCMD_VF_RESET_STATS,
138         IOCMD_FCPIM_LUNMASK_ENABLE,
139         IOCMD_FCPIM_LUNMASK_DISABLE,
140         IOCMD_FCPIM_LUNMASK_CLEAR,
141         IOCMD_FCPIM_LUNMASK_QUERY,
142         IOCMD_FCPIM_LUNMASK_ADD,
143         IOCMD_FCPIM_LUNMASK_DELETE,
144 };
145
146 struct bfa_bsg_gen_s {
147         bfa_status_t    status;
148         u16             bfad_num;
149         u16             rsvd;
150 };
151
152 struct bfa_bsg_portlogctl_s {
153         bfa_status_t    status;
154         u16             bfad_num;
155         u16             rsvd;
156         bfa_boolean_t   ctl;
157         int             inst_no;
158 };
159
160 struct bfa_bsg_fcpim_profile_s {
161         bfa_status_t    status;
162         u16             bfad_num;
163         u16             rsvd;
164 };
165
166 struct bfa_bsg_itnim_ioprofile_s {
167         bfa_status_t    status;
168         u16             bfad_num;
169         u16             vf_id;
170         wwn_t           lpwwn;
171         wwn_t           rpwwn;
172         struct bfa_itnim_ioprofile_s ioprofile;
173 };
174
175 struct bfa_bsg_fcport_stats_s {
176         bfa_status_t    status;
177         u16             bfad_num;
178         u16             rsvd;
179         union bfa_fcport_stats_u stats;
180 };
181
182 struct bfa_bsg_ioc_name_s {
183         bfa_status_t    status;
184         u16             bfad_num;
185         u16             rsvd;
186         char            name[BFA_ADAPTER_SYM_NAME_LEN];
187 };
188
189 struct bfa_bsg_ioc_info_s {
190         bfa_status_t    status;
191         u16             bfad_num;
192         u16             rsvd;
193         char            serialnum[64];
194         char            hwpath[BFA_STRING_32];
195         char            adapter_hwpath[BFA_STRING_32];
196         char            guid[BFA_ADAPTER_SYM_NAME_LEN*2];
197         char            name[BFA_ADAPTER_SYM_NAME_LEN];
198         char            port_name[BFA_ADAPTER_SYM_NAME_LEN];
199         char            eth_name[BFA_ADAPTER_SYM_NAME_LEN];
200         wwn_t           pwwn;
201         wwn_t           nwwn;
202         wwn_t           factorypwwn;
203         wwn_t           factorynwwn;
204         mac_t           mac;
205         mac_t           factory_mac; /* Factory mac address */
206         mac_t           current_mac; /* Currently assigned mac address */
207         enum bfa_ioc_type_e     ioc_type;
208         u16             pvid; /* Port vlan id */
209         u16             rsvd1;
210         u32             host;
211         u32             bandwidth; /* For PF support */
212         u32             rsvd2;
213 };
214
215 struct bfa_bsg_ioc_attr_s {
216         bfa_status_t    status;
217         u16             bfad_num;
218         u16             rsvd;
219         struct bfa_ioc_attr_s  ioc_attr;
220 };
221
222 struct bfa_bsg_ioc_stats_s {
223         bfa_status_t    status;
224         u16             bfad_num;
225         u16             rsvd;
226         struct bfa_ioc_stats_s ioc_stats;
227 };
228
229 struct bfa_bsg_ioc_fwstats_s {
230         bfa_status_t    status;
231         u16             bfad_num;
232         u16             rsvd;
233         u32             buf_size;
234         u32             rsvd1;
235         u64             buf_ptr;
236 };
237
238 struct bfa_bsg_iocfc_attr_s {
239         bfa_status_t    status;
240         u16             bfad_num;
241         u16             rsvd;
242         struct bfa_iocfc_attr_s iocfc_attr;
243 };
244
245 struct bfa_bsg_iocfc_intr_s {
246         bfa_status_t    status;
247         u16             bfad_num;
248         u16             rsvd;
249         struct bfa_iocfc_intr_attr_s attr;
250 };
251
252 struct bfa_bsg_port_attr_s {
253         bfa_status_t    status;
254         u16             bfad_num;
255         u16             rsvd;
256         struct bfa_port_attr_s  attr;
257 };
258
259 struct bfa_bsg_port_cfg_s {
260         bfa_status_t    status;
261         u16             bfad_num;
262         u16             rsvd;
263         u32             param;
264         u32             rsvd1;
265 };
266
267 struct bfa_bsg_port_cfg_maxfrsize_s {
268         bfa_status_t    status;
269         u16             bfad_num;
270         u16             maxfrsize;
271 };
272
273 struct bfa_bsg_port_stats_s {
274         bfa_status_t    status;
275         u16             bfad_num;
276         u16             rsvd;
277         u32             buf_size;
278         u32             rsvd1;
279         u64             buf_ptr;
280 };
281
282 struct bfa_bsg_lport_attr_s {
283         bfa_status_t    status;
284         u16             bfad_num;
285         u16             vf_id;
286         wwn_t           pwwn;
287         struct bfa_lport_attr_s port_attr;
288 };
289
290 struct bfa_bsg_lport_stats_s {
291         bfa_status_t    status;
292         u16             bfad_num;
293         u16             vf_id;
294         wwn_t           pwwn;
295         struct bfa_lport_stats_s port_stats;
296 };
297
298 struct bfa_bsg_lport_iostats_s {
299         bfa_status_t    status;
300         u16             bfad_num;
301         u16             vf_id;
302         wwn_t           pwwn;
303         struct bfa_itnim_iostats_s iostats;
304 };
305
306 struct bfa_bsg_lport_get_rports_s {
307         bfa_status_t    status;
308         u16             bfad_num;
309         u16             vf_id;
310         wwn_t           pwwn;
311         u64             rbuf_ptr;
312         u32             nrports;
313         u32             rsvd;
314 };
315
316 struct bfa_bsg_rport_attr_s {
317         bfa_status_t    status;
318         u16             bfad_num;
319         u16             vf_id;
320         wwn_t           pwwn;
321         wwn_t           rpwwn;
322         struct bfa_rport_attr_s attr;
323 };
324
325 struct bfa_bsg_rport_stats_s {
326         bfa_status_t    status;
327         u16             bfad_num;
328         u16             vf_id;
329         wwn_t           pwwn;
330         wwn_t           rpwwn;
331         struct bfa_rport_stats_s stats;
332 };
333
334 struct bfa_bsg_rport_scsi_addr_s {
335         bfa_status_t    status;
336         u16             bfad_num;
337         u16             vf_id;
338         wwn_t           pwwn;
339         wwn_t           rpwwn;
340         u32             host;
341         u32             bus;
342         u32             target;
343         u32             lun;
344 };
345
346 struct bfa_bsg_rport_reset_stats_s {
347         bfa_status_t    status;
348         u16             bfad_num;
349         u16             vf_id;
350         wwn_t           pwwn;
351         wwn_t           rpwwn;
352 };
353
354 struct bfa_bsg_rport_set_speed_s {
355         bfa_status_t            status;
356         u16                     bfad_num;
357         u16                     vf_id;
358         enum bfa_port_speed     speed;
359         u32                     rsvd;
360         wwn_t                   pwwn;
361         wwn_t                   rpwwn;
362 };
363
364 struct bfa_bsg_vport_attr_s {
365         bfa_status_t    status;
366         u16             bfad_num;
367         u16             vf_id;
368         wwn_t           vpwwn;
369         struct bfa_vport_attr_s vport_attr;
370 };
371
372 struct bfa_bsg_vport_stats_s {
373         bfa_status_t    status;
374         u16             bfad_num;
375         u16             vf_id;
376         wwn_t           vpwwn;
377         struct bfa_vport_stats_s vport_stats;
378 };
379
380 struct bfa_bsg_reset_stats_s {
381         bfa_status_t    status;
382         u16             bfad_num;
383         u16             vf_id;
384         wwn_t           vpwwn;
385 };
386
387 struct bfa_bsg_fabric_get_lports_s {
388         bfa_status_t    status;
389         u16             bfad_num;
390         u16             vf_id;
391         u64             buf_ptr;
392         u32             nports;
393         u32             rsvd;
394 };
395
396 struct bfa_bsg_trl_speed_s {
397         bfa_status_t    status;
398         u16             bfad_num;
399         u16             rsvd;
400         enum bfa_port_speed speed;
401 };
402
403 struct bfa_bsg_fcpim_s {
404         bfa_status_t    status;
405         u16             bfad_num;
406         u16             param;
407 };
408
409 struct bfa_bsg_fcpim_modstats_s {
410         bfa_status_t    status;
411         u16             bfad_num;
412         struct bfa_itnim_iostats_s modstats;
413 };
414
415 struct bfa_bsg_fcpim_del_itn_stats_s {
416         bfa_status_t    status;
417         u16             bfad_num;
418         struct bfa_fcpim_del_itn_stats_s modstats;
419 };
420
421 struct bfa_bsg_fcpim_modstatsclr_s {
422         bfa_status_t    status;
423         u16             bfad_num;
424 };
425
426 struct bfa_bsg_itnim_attr_s {
427         bfa_status_t    status;
428         u16             bfad_num;
429         u16             vf_id;
430         wwn_t           lpwwn;
431         wwn_t           rpwwn;
432         struct bfa_itnim_attr_s attr;
433 };
434
435 struct bfa_bsg_itnim_iostats_s {
436         bfa_status_t    status;
437         u16             bfad_num;
438         u16             vf_id;
439         wwn_t           lpwwn;
440         wwn_t           rpwwn;
441         struct bfa_itnim_iostats_s iostats;
442 };
443
444 struct bfa_bsg_itnim_itnstats_s {
445         bfa_status_t    status;
446         u16             bfad_num;
447         u16             vf_id;
448         wwn_t           lpwwn;
449         wwn_t           rpwwn;
450         struct bfa_itnim_stats_s itnstats;
451 };
452
453 struct bfa_bsg_pcifn_cfg_s {
454         bfa_status_t            status;
455         u16                     bfad_num;
456         u16                     rsvd;
457         struct bfa_ablk_cfg_s   pcifn_cfg;
458 };
459
460 struct bfa_bsg_pcifn_s {
461         bfa_status_t            status;
462         u16                     bfad_num;
463         u16                     pcifn_id;
464         u32                     bandwidth;
465         u8                      port;
466         enum bfi_pcifn_class    pcifn_class;
467         u8                      rsvd[1];
468 };
469
470 struct bfa_bsg_adapter_cfg_mode_s {
471         bfa_status_t    status;
472         u16             bfad_num;
473         u16             rsvd;
474         struct bfa_adapter_cfg_mode_s   cfg;
475 };
476
477 struct bfa_bsg_port_cfg_mode_s {
478         bfa_status_t    status;
479         u16             bfad_num;
480         u16             instance;
481         struct bfa_port_cfg_mode_s cfg;
482 };
483
484 struct bfa_bsg_faa_attr_s {
485         bfa_status_t            status;
486         u16                     bfad_num;
487         u16                     rsvd;
488         struct bfa_faa_attr_s   faa_attr;
489 };
490
491 struct bfa_bsg_cee_attr_s {
492         bfa_status_t    status;
493         u16             bfad_num;
494         u16             rsvd;
495         u32             buf_size;
496         u32             rsvd1;
497         u64             buf_ptr;
498 };
499
500 struct bfa_bsg_cee_stats_s {
501         bfa_status_t    status;
502         u16             bfad_num;
503         u16             rsvd;
504         u32             buf_size;
505         u32             rsvd1;
506         u64             buf_ptr;
507 };
508
509 struct bfa_bsg_sfp_media_s {
510         bfa_status_t    status;
511         u16             bfad_num;
512         u16             rsvd;
513         enum bfa_defs_sfp_media_e media;
514 };
515
516 struct bfa_bsg_sfp_speed_s {
517         bfa_status_t    status;
518         u16             bfad_num;
519         u16             rsvd;
520         enum bfa_port_speed speed;
521 };
522
523 struct bfa_bsg_flash_attr_s {
524         bfa_status_t    status;
525         u16             bfad_num;
526         u16             rsvd;
527         struct bfa_flash_attr_s attr;
528 };
529
530 struct bfa_bsg_flash_s {
531         bfa_status_t    status;
532         u16             bfad_num;
533         u8              instance;
534         u8              rsvd;
535         enum  bfa_flash_part_type type;
536         int             bufsz;
537         u64             buf_ptr;
538 };
539
540 struct bfa_bsg_diag_get_temp_s {
541         bfa_status_t    status;
542         u16             bfad_num;
543         u16             rsvd;
544         struct bfa_diag_results_tempsensor_s result;
545 };
546
547 struct bfa_bsg_diag_memtest_s {
548         bfa_status_t    status;
549         u16             bfad_num;
550         u16             rsvd[3];
551         u32             pat;
552         struct bfa_diag_memtest_result result;
553         struct bfa_diag_memtest_s memtest;
554 };
555
556 struct bfa_bsg_diag_loopback_s {
557         bfa_status_t    status;
558         u16             bfad_num;
559         u16             rsvd;
560         enum bfa_port_opmode opmode;
561         enum bfa_port_speed speed;
562         u32             lpcnt;
563         u32             pat;
564         struct bfa_diag_loopback_result_s result;
565 };
566
567 struct bfa_bsg_diag_fwping_s {
568         bfa_status_t    status;
569         u16             bfad_num;
570         u16             rsvd;
571         u32             cnt;
572         u32             pattern;
573         struct bfa_diag_results_fwping result;
574 };
575
576 struct bfa_bsg_diag_qtest_s {
577         bfa_status_t    status;
578         u16     bfad_num;
579         u16     rsvd;
580         u32     force;
581         u32     queue;
582         struct bfa_diag_qtest_result_s result;
583 };
584
585 struct bfa_bsg_sfp_show_s {
586         bfa_status_t    status;
587         u16             bfad_num;
588         u16             rsvd;
589         struct sfp_mem_s sfp;
590 };
591
592 struct bfa_bsg_diag_led_s {
593         bfa_status_t    status;
594         u16             bfad_num;
595         u16             rsvd;
596         struct bfa_diag_ledtest_s ledtest;
597 };
598
599 struct bfa_bsg_diag_beacon_s {
600         bfa_status_t    status;
601         u16             bfad_num;
602         u16             rsvd;
603         bfa_boolean_t   beacon;
604         bfa_boolean_t   link_e2e_beacon;
605         u32             second;
606 };
607
608 struct bfa_bsg_diag_lb_stat_s {
609         bfa_status_t    status;
610         u16             bfad_num;
611         u16             rsvd;
612 };
613
614 struct bfa_bsg_phy_attr_s {
615         bfa_status_t    status;
616         u16     bfad_num;
617         u16     instance;
618         struct bfa_phy_attr_s   attr;
619 };
620
621 struct bfa_bsg_phy_s {
622         bfa_status_t    status;
623         u16     bfad_num;
624         u16     instance;
625         u64     bufsz;
626         u64     buf_ptr;
627 };
628
629 struct bfa_bsg_debug_s {
630         bfa_status_t    status;
631         u16             bfad_num;
632         u16             rsvd;
633         u32             bufsz;
634         int             inst_no;
635         u64             buf_ptr;
636         u64             offset;
637 };
638
639 struct bfa_bsg_phy_stats_s {
640         bfa_status_t    status;
641         u16     bfad_num;
642         u16     instance;
643         struct bfa_phy_stats_s  stats;
644 };
645
646 struct bfa_bsg_vhba_attr_s {
647         bfa_status_t    status;
648         u16             bfad_num;
649         u16             pcifn_id;
650         struct bfa_vhba_attr_s  attr;
651 };
652
653 struct bfa_bsg_boot_s {
654         bfa_status_t    status;
655         u16             bfad_num;
656         u16             rsvd;
657         struct bfa_boot_cfg_s   cfg;
658 };
659
660 struct bfa_bsg_preboot_s {
661         bfa_status_t    status;
662         u16             bfad_num;
663         u16             rsvd;
664         struct bfa_boot_pbc_s   cfg;
665 };
666
667 struct bfa_bsg_ethboot_s {
668         bfa_status_t    status;
669         u16             bfad_num;
670         u16             rsvd;
671         struct  bfa_ethboot_cfg_s  cfg;
672 };
673
674 struct bfa_bsg_trunk_attr_s {
675         bfa_status_t    status;
676         u16             bfad_num;
677         u16             rsvd;
678         struct bfa_trunk_attr_s attr;
679 };
680
681 struct bfa_bsg_qos_attr_s {
682         bfa_status_t    status;
683         u16             bfad_num;
684         u16             rsvd;
685         struct bfa_qos_attr_s   attr;
686 };
687
688 struct bfa_bsg_qos_vc_attr_s {
689         bfa_status_t    status;
690         u16             bfad_num;
691         u16             rsvd;
692         struct bfa_qos_vc_attr_s attr;
693 };
694
695 struct bfa_bsg_vf_stats_s {
696         bfa_status_t    status;
697         u16             bfad_num;
698         u16             vf_id;
699         struct bfa_vf_stats_s   stats;
700 };
701
702 struct bfa_bsg_vf_reset_stats_s {
703         bfa_status_t    status;
704         u16             bfad_num;
705         u16             vf_id;
706 };
707
708 struct bfa_bsg_fcpim_lunmask_query_s {
709         bfa_status_t    status;
710         u16             bfad_num;
711         struct bfa_lunmask_cfg_s lun_mask;
712 };
713
714 struct bfa_bsg_fcpim_lunmask_s {
715         bfa_status_t    status;
716         u16             bfad_num;
717         u16             vf_id;
718         wwn_t           pwwn;
719         wwn_t           rpwwn;
720         struct scsi_lun lun;
721 };
722
723 struct bfa_bsg_fcpt_s {
724         bfa_status_t    status;
725         u16             vf_id;
726         wwn_t           lpwwn;
727         wwn_t           dpwwn;
728         u32             tsecs;
729         int             cts;
730         enum fc_cos     cos;
731         struct fchs_s   fchs;
732 };
733 #define bfa_bsg_fcpt_t struct bfa_bsg_fcpt_s
734
735 struct bfa_bsg_data {
736         int payload_len;
737         void *payload;
738 };
739
740 #define bfad_chk_iocmd_sz(__payload_len, __hdrsz, __bufsz)      \
741         (((__payload_len) != ((__hdrsz) + (__bufsz))) ?         \
742          BFA_STATUS_FAILED : BFA_STATUS_OK)
743
744 #endif /* BFAD_BSG_H */