upload tizen1.0 source
[kernel/linux-2.6.36.git] / drivers / scsi / bfa / include / defs / bfa_defs_aen.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_AEN_H__
19 #define __BFA_DEFS_AEN_H__
20
21 #include <defs/bfa_defs_types.h>
22 #include <defs/bfa_defs_ioc.h>
23 #include <defs/bfa_defs_adapter.h>
24 #include <defs/bfa_defs_port.h>
25 #include <defs/bfa_defs_lport.h>
26 #include <defs/bfa_defs_rport.h>
27 #include <defs/bfa_defs_itnim.h>
28 #include <defs/bfa_defs_tin.h>
29 #include <defs/bfa_defs_ipfc.h>
30 #include <defs/bfa_defs_audit.h>
31 #include <defs/bfa_defs_ethport.h>
32
33 #define BFA_AEN_MAX_APP         5
34
35 enum bfa_aen_app {
36         bfa_aen_app_bcu = 0,    /* No thread for bcu */
37         bfa_aen_app_hcm = 1,
38         bfa_aen_app_cim = 2,
39         bfa_aen_app_snia = 3,
40         bfa_aen_app_test = 4,   /* To be removed after unit test */
41 };
42
43 enum bfa_aen_category {
44         BFA_AEN_CAT_ADAPTER     = 1,
45         BFA_AEN_CAT_PORT        = 2,
46         BFA_AEN_CAT_LPORT       = 3,
47         BFA_AEN_CAT_RPORT       = 4,
48         BFA_AEN_CAT_ITNIM       = 5,
49         BFA_AEN_CAT_TIN         = 6,
50         BFA_AEN_CAT_IPFC        = 7,
51         BFA_AEN_CAT_AUDIT       = 8,
52         BFA_AEN_CAT_IOC         = 9,
53         BFA_AEN_CAT_ETHPORT     = 10,
54         BFA_AEN_MAX_CAT         = 10
55 };
56
57 #pragma pack(1)
58 union bfa_aen_data_u {
59         struct bfa_adapter_aen_data_s   adapter;
60         struct bfa_port_aen_data_s      port;
61         struct bfa_lport_aen_data_s     lport;
62         struct bfa_rport_aen_data_s     rport;
63         struct bfa_itnim_aen_data_s     itnim;
64         struct bfa_audit_aen_data_s     audit;
65         struct bfa_ioc_aen_data_s       ioc;
66         struct bfa_ethport_aen_data_s   ethport;
67 };
68
69 struct bfa_aen_entry_s {
70         enum bfa_aen_category   aen_category;
71         int                     aen_type;
72         union bfa_aen_data_u    aen_data;
73         struct bfa_timeval_s    aen_tv;
74         s32             seq_num;
75         s32             bfad_num;
76         s32             rsvd[1];
77 };
78
79 #pragma pack()
80
81 #define bfa_aen_event_t int
82
83 #endif /* __BFA_DEFS_AEN_H__ */