- patches.suse/slab-handle-memoryless-nodes-v2a.patch: Refresh.
[linux-flexiantxendom0-3.2.10.git] / drivers / scsi / bfa / include / bfi / bfi_lps.h
1 /*
2  * Copyright (c) 2005-2009 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
18 #ifndef __BFI_LPS_H__
19 #define __BFI_LPS_H__
20
21 #include <bfi/bfi.h>
22
23 #pragma pack(1)
24
25 enum bfi_lps_h2i_msgs {
26         BFI_LPS_H2I_LOGIN_REQ   = 1,
27         BFI_LPS_H2I_LOGOUT_REQ  = 2,
28 };
29
30 enum bfi_lps_i2h_msgs {
31         BFI_LPS_H2I_LOGIN_RSP   = BFA_I2HM(1),
32         BFI_LPS_H2I_LOGOUT_RSP  = BFA_I2HM(2),
33 };
34
35 struct bfi_lps_login_req_s {
36         struct bfi_mhdr_s  mh;          /*  common msg header           */
37         u8              lp_tag;
38         u8              alpa;
39         u16     pdu_size;
40         wwn_t           pwwn;
41         wwn_t           nwwn;
42         u8              fdisc;
43         u8              auth_en;
44         u8              rsvd[2];
45 };
46
47 struct bfi_lps_login_rsp_s {
48         struct bfi_mhdr_s  mh;          /*  common msg header           */
49         u8              lp_tag;
50         u8              status;
51         u8              lsrjt_rsn;
52         u8              lsrjt_expl;
53         wwn_t           port_name;
54         wwn_t           node_name;
55         u16     bb_credit;
56         u8              f_port;
57         u8              npiv_en;
58         u32     lp_pid:24;
59         u32     auth_req:8;
60         mac_t           lp_mac;
61         mac_t           fcf_mac;
62         u8              ext_status;
63         u8      brcd_switch;/*  attached peer is brcd switch    */
64 };
65
66 struct bfi_lps_logout_req_s {
67         struct bfi_mhdr_s  mh;          /*  common msg header           */
68         u8              lp_tag;
69         u8              rsvd[3];
70         wwn_t           port_name;
71 };
72
73 struct bfi_lps_logout_rsp_s {
74         struct bfi_mhdr_s  mh;          /*  common msg header           */
75         u8              lp_tag;
76         u8              status;
77         u8              rsvd[2];
78 };
79
80 union bfi_lps_h2i_msg_u {
81         struct bfi_mhdr_s               *msg;
82         struct bfi_lps_login_req_s      *login_req;
83         struct bfi_lps_logout_req_s     *logout_req;
84 };
85
86 union bfi_lps_i2h_msg_u {
87         struct bfi_msg_s                *msg;
88         struct bfi_lps_login_rsp_s      *login_rsp;
89         struct bfi_lps_logout_rsp_s     *logout_rsp;
90 };
91
92 #pragma pack()
93
94 #endif /* __BFI_LPS_H__ */
95
96