• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/scsi/bfa/include/bfi/
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_LPORT_H__
19#define __BFI_LPORT_H__
20
21#include <bfi/bfi.h>
22
23#pragma pack(1)
24
25enum bfi_lport_h2i_msgs {
26	BFI_LPORT_H2I_CREATE_REQ = 1,
27	BFI_LPORT_H2I_DELETE_REQ = 2,
28};
29
30enum bfi_lport_i2h_msgs {
31	BFI_LPORT_I2H_CREATE_RSP = BFA_I2HM(1),
32	BFI_LPORT_I2H_DELETE_RSP = BFA_I2HM(2),
33	BFI_LPORT_I2H_ONLINE	  = BFA_I2HM(3),
34	BFI_LPORT_I2H_OFFLINE	  = BFA_I2HM(4),
35};
36
37#define BFI_LPORT_MAX_SYNNAME	64
38
39enum bfi_lport_role_e {
40	BFI_LPORT_ROLE_FCPIM	= 1,
41	BFI_LPORT_ROLE_FCPTM	= 2,
42	BFI_LPORT_ROLE_IPFC	= 4,
43};
44
45struct bfi_lport_create_req_s {
46	bfi_mhdr_t	mh;		/*  common msg header		*/
47	u16	fabric_fwhdl;	/*  parent fabric instance	*/
48	u8		roles;		/*  lport FC-4 roles		*/
49	u8		rsvd;
50	wwn_t		pwwn;		/*  port name			*/
51	wwn_t		nwwn;		/*  node name			*/
52	u8		symname[BFI_LPORT_MAX_SYNNAME];
53};
54
55struct bfi_lport_create_rsp_s {
56	bfi_mhdr_t	mh;		/*  common msg header		*/
57	u8         status;		/*  lport creation status	*/
58	u8         rsvd[3];
59};
60
61struct bfi_lport_delete_req_s {
62	bfi_mhdr_t	mh;		/*  common msg header		*/
63	u16        fw_handle;	/*  firmware lport handle	*/
64	u16        rsvd;
65};
66
67struct bfi_lport_delete_rsp_s {
68	bfi_mhdr_t	mh;		/*  common msg header		*/
69	u16        bfa_handle;	/*  host lport handle		*/
70	u8         status;		/*  lport deletion status	*/
71	u8         rsvd;
72};
73
74union bfi_lport_h2i_msg_u {
75	bfi_msg_t		*msg;
76	struct bfi_lport_create_req_s	*create_req;
77	struct bfi_lport_delete_req_s	*delete_req;
78};
79
80union bfi_lport_i2h_msg_u {
81	bfi_msg_t		*msg;
82	struct bfi_lport_create_rsp_s	*create_rsp;
83	struct bfi_lport_delete_rsp_s	*delete_rsp;
84};
85
86#pragma pack()
87
88#endif /* __BFI_LPORT_H__ */
89