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]
23 * Copyright 2009 Emulex. All rights reserved.
24 * Use is subject to License terms.
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
46 #define EMLXS_MBOX_C 7
48 #define EMLXS_NODE_C 9
49 #define EMLXS_PKT_C 10
50 #define EMLXS_SOLARIS_C 11
51 #define EMLXS_MSG_C 12
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
67 #define EMLXS_DEBUGF emlxs_msg_printf
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 */
82 uint32_t instance
; /* Adapter instance */
83 uint32_t fileno
; /* File number */
84 uint32_t line
; /* Line number */
86 void *bp
; /* Context buffer */
88 uint32_t size
; /* Context buffer */
91 #define EMLX_EVENT_DONE 0x00000001 /* Data has been */
94 char buffer
[MAX_LOG_INFO_LENGTH
]; /* Additional info */
99 typedef struct emlxs_msg_log
102 kcondvar_t lock_cv
; /* used for events */
108 uint32_t size
; /* Maximum entries in */
109 /* circular buffer */
110 uint32_t count
; /* Total number of entries */
112 uint32_t next
; /* Next index into circular */
115 uint32_t repeat
; /* repeat counter */
117 uint32_t event_id
[32]; /* Last id logged for an */
120 emlxs_msg_entry_t
*entry
; /* pointer to entry buffer */
127 #endif /* _EMLXS_MSG_H */