1fcf3ce4John Forte/*
2fcf3ce4John Forte * CDDL HEADER START
3fcf3ce4John Forte *
4fcf3ce4John Forte * The contents of this file are subject to the terms of the
5fcf3ce4John Forte * Common Development and Distribution License (the "License").
6fcf3ce4John Forte * You may not use this file except in compliance with the License.
7fcf3ce4John Forte *
88f23e9fHans Rosenfeld * You can obtain a copy of the license at
98f23e9fHans Rosenfeld * http://www.opensource.org/licenses/cddl1.txt.
10fcf3ce4John Forte * See the License for the specific language governing permissions
11fcf3ce4John Forte * and limitations under the License.
12fcf3ce4John Forte *
13fcf3ce4John Forte * When distributing Covered Code, include this CDDL HEADER in each
14fcf3ce4John Forte * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15fcf3ce4John Forte * If applicable, add the following below this CDDL HEADER, with the
16fcf3ce4John Forte * fields enclosed by brackets "[]" replaced with your own identifying
17fcf3ce4John Forte * information: Portions Copyright [yyyy] [name of copyright owner]
18fcf3ce4John Forte *
19fcf3ce4John Forte * CDDL HEADER END
20fcf3ce4John Forte */
21fcf3ce4John Forte
22fcf3ce4John Forte/*
238f23e9fHans Rosenfeld * Copyright (c) 2004-2011 Emulex. All rights reserved.
248252773Sukumar Swaminathan * Use is subject to license terms.
25fcf3ce4John Forte */
26fcf3ce4John Forte
27fcf3ce4John Forte#ifndef _EMLXS_DEVICE_H
28fcf3ce4John Forte#define	_EMLXS_DEVICE_H
29fcf3ce4John Forte
30fcf3ce4John Forte#ifdef	__cplusplus
31fcf3ce4John Forteextern "C" {
32fcf3ce4John Forte#endif
33fcf3ce4John Forte
34fcf3ce4John Forte/*
35fcf3ce4John Forte * This is the global device driver control structure
36fcf3ce4John Forte */
37fcf3ce4John Forte
38fcf3ce4John Forte#ifndef EMLXS_HBA_T
39fcf3ce4John Fortetypedef struct emlxs_hba emlxs_hba_t;
40fcf3ce4John Forte#endif
41fcf3ce4John Forte
42fcf3ce4John Forte/* This structure must match the one in ./mdb/msgblib.c */
43291a2b4Sukumar Swaminathantypedef struct emlxs_device
44291a2b4Sukumar Swaminathan{
45fcf3ce4John Forte	uint32_t hba_count;
46fcf3ce4John Forte	emlxs_hba_t *hba[MAX_FC_BRDS];
47fcf3ce4John Forte	kmutex_t lock;
48fcf3ce4John Forte
49fcf3ce4John Forte	time_t drv_timestamp;
50291a2b4Sukumar Swaminathan	clock_t	log_timestamp;
51291a2b4Sukumar Swaminathan	emlxs_msg_log_t *log[MAX_FC_BRDS];
52291a2b4Sukumar Swaminathan
53291a2b4Sukumar Swaminathan#ifdef DUMP_SUPPORT
54291a2b4Sukumar Swaminathan	emlxs_file_t *dump_txtfile[MAX_FC_BRDS];
55291a2b4Sukumar Swaminathan	emlxs_file_t *dump_dmpfile[MAX_FC_BRDS];
56291a2b4Sukumar Swaminathan	emlxs_file_t *dump_ceefile[MAX_FC_BRDS];
57291a2b4Sukumar Swaminathan#endif /* DUMP_SUPPORT */
58fcf3ce4John Forte
59fcf3ce4John Forte} emlxs_device_t;
60fcf3ce4John Forte
61fcf3ce4John Forte#ifdef	__cplusplus
62fcf3ce4John Forte}
63fcf3ce4John Forte#endif
64fcf3ce4John Forte
65fcf3ce4John Forte#endif	/* _EMLXS_DEVICE_H */