6811333 Remove prom_printf() message in emlxs driver
[opensolaris.git] / usr / src / uts / common / sys / fibre-channel / fca / emlxs / emlxs_msg.h
blob225cc418ee4c8bee932f2c5399cae7aafabc930d
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
19 * CDDL HEADER END
23 * Copyright 2009 Emulex. All rights reserved.
24 * Use is subject to License terms.
28 #ifndef _EMLXS_MSG_H
29 #define _EMLXS_MSG_H
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
35 /* Define the actual driver messages */
36 #include <emlxs_messages.h>
38 /* File identification numbers */
39 #define EMLXS_MSG_DEF(_number) static const uint32_t _FILENO_ = _number
40 #define EMLXS_CLOCK_C 1
41 #define EMLXS_DIAG_C 2
42 #define EMLXS_DOWNLOAD_C 3
43 #define EMLXS_ELS_C 4
44 #define EMLXS_FCP_C 5
45 #define EMLXS_HBA_C 6
46 #define EMLXS_MBOX_C 7
47 #define EMLXS_MEM_C 8
48 #define EMLXS_NODE_C 9
49 #define EMLXS_PKT_C 10
50 #define EMLXS_SOLARIS_C 11
51 #define EMLXS_MSG_C 12
52 #define EMLXS_IP_C 13
53 #define EMLXS_THREAD_C 14
54 #define EMLXS_DFC_C 15
55 #define EMLXS_DHCHAP_C 16
56 #define EMLXS_FCT_C 17
57 #define EMLXS_DUMP_C 18
58 #define EMLXS_SLI_C 19
61 #define EMLXS_CONTEXT port, _FILENO_, __LINE__, 0, 0
62 #define EMLXS_CONTEXT_BP port, _FILENO_, __LINE__
64 #define EMLXS_MSGF emlxs_msg_printf
66 #ifdef EMLXS_DBG
67 #define EMLXS_DEBUGF emlxs_msg_printf
68 #else /* EMLXS_DBG */
69 #define EMLXS_DEBUGF
70 #endif /* EMLXS_DBG */
72 #define MAX_LOG_INFO_LENGTH 96
74 typedef struct emlxs_msg_entry
76 uint32_t id; /* entry id */
77 clock_t time; /* timestamp */
79 emlxs_msg_t *msg; /* Msg pointer */
81 uint32_t vpi;
82 uint32_t instance; /* Adapter instance */
83 uint32_t fileno; /* File number */
84 uint32_t line; /* Line number */
86 void *bp; /* Context buffer */
87 /* pointer */
88 uint32_t size; /* Context buffer */
89 /* size */
90 uint32_t flag;
91 #define EMLX_EVENT_DONE 0x00000001 /* Data has been */
92 /* retrieved */
94 char buffer[MAX_LOG_INFO_LENGTH]; /* Additional info */
95 /* buffer */
96 } emlxs_msg_entry_t;
99 typedef struct emlxs_msg_log
101 kmutex_t lock;
102 kcondvar_t lock_cv; /* used for events */
104 clock_t start_time;
105 uint32_t instance;
106 uint32_t flags;
108 uint32_t size; /* Maximum entries in */
109 /* circular buffer */
110 uint32_t count; /* Total number of entries */
111 /* recorded */
112 uint32_t next; /* Next index into circular */
113 /* buffer */
115 uint32_t repeat; /* repeat counter */
117 uint32_t event_id[32]; /* Last id logged for an */
118 /* event */
120 emlxs_msg_entry_t *entry; /* pointer to entry buffer */
121 } emlxs_msg_log_t;
123 #ifdef __cplusplus
125 #endif
127 #endif /* _EMLXS_MSG_H */