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