upload tizen1.0 source
[kernel/linux-2.6.36.git] / drivers / scsi / bfa / include / defs / bfa_defs_lport.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 __BFA_DEFS_LPORT_H__
19 #define __BFA_DEFS_LPORT_H__
20
21 #include <defs/bfa_defs_types.h>
22 #include <defs/bfa_defs_port.h>
23
24 /**
25  * BFA AEN logical port events.
26  * Arguments below are in BFAL context from Mgmt
27  * BFA_LPORT_AEN_NEW:       [in]: None         [out]: vf_id, ppwwn, lpwwn, roles
28  * BFA_LPORT_AEN_DELETE:    [in]: lpwwn        [out]: vf_id, ppwwn. lpwwn, roles
29  * BFA_LPORT_AEN_ONLINE:    [in]: lpwwn        [out]: vf_id, ppwwn. lpwwn, roles
30  * BFA_LPORT_AEN_OFFLINE:   [in]: lpwwn        [out]: vf_id, ppwwn. lpwwn, roles
31  * BFA_LPORT_AEN_DISCONNECT:[in]: lpwwn        [out]: vf_id, ppwwn. lpwwn, roles
32  * BFA_LPORT_AEN_NEW_PROP:  [in]: None         [out]: vf_id, ppwwn. lpwwn, roles
33  * BFA_LPORT_AEN_DELETE_PROP:     [in]: lpwwn  [out]: vf_id, ppwwn. lpwwn, roles
34  * BFA_LPORT_AEN_NEW_STANDARD:    [in]: None   [out]: vf_id, ppwwn. lpwwn, roles
35  * BFA_LPORT_AEN_DELETE_STANDARD: [in]: lpwwn  [out]: vf_id, ppwwn. lpwwn, roles
36  * BFA_LPORT_AEN_NPIV_DUP_WWN:    [in]: lpwwn  [out]: vf_id, ppwwn. lpwwn, roles
37  * BFA_LPORT_AEN_NPIV_FABRIC_MAX: [in]: lpwwn  [out]: vf_id, ppwwn. lpwwn, roles
38  * BFA_LPORT_AEN_NPIV_UNKNOWN:    [in]: lpwwn  [out]: vf_id, ppwwn. lpwwn, roles
39  */
40 enum bfa_lport_aen_event {
41         BFA_LPORT_AEN_NEW       = 1,    /*  LPort created event */
42         BFA_LPORT_AEN_DELETE    = 2,    /*  LPort deleted event */
43         BFA_LPORT_AEN_ONLINE    = 3,    /*  LPort online event */
44         BFA_LPORT_AEN_OFFLINE   = 4,    /*  LPort offline event */
45         BFA_LPORT_AEN_DISCONNECT = 5,   /*  LPort disconnect event */
46         BFA_LPORT_AEN_NEW_PROP  = 6,    /*  VPort created event */
47         BFA_LPORT_AEN_DELETE_PROP = 7,  /*  VPort deleted event */
48         BFA_LPORT_AEN_NEW_STANDARD = 8, /*  VPort created event */
49         BFA_LPORT_AEN_DELETE_STANDARD = 9,  /*  VPort deleted event */
50         BFA_LPORT_AEN_NPIV_DUP_WWN = 10,    /*  VPort configured with
51                                              *   duplicate WWN event
52                                                  */
53         BFA_LPORT_AEN_NPIV_FABRIC_MAX = 11, /*  Max NPIV in fabric/fport */
54         BFA_LPORT_AEN_NPIV_UNKNOWN = 12, /*  Unknown NPIV Error code event */
55 };
56
57 /**
58  * BFA AEN event data structure
59  */
60 struct bfa_lport_aen_data_s {
61         u16        vf_id;       /*  vf_id of this logical port */
62         s16         roles;  /*  Logical port mode,IM/TM/IP etc */
63         u32        rsvd;
64         wwn_t           ppwwn;  /*  WWN of its physical port */
65         wwn_t           lpwwn;  /*  WWN of this logical port */
66 };
67
68 #endif /* __BFA_DEFS_LPORT_H__ */