xref: /illumos-gate/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_messages.h (revision 93c20f2609342fd05f6625f16dfcb9348e7977f2)
1 /*
2  * CDDL HEADER START
3  *
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.
7  *
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.
12  *
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]
18  *
19  * CDDL HEADER END
20  */
21 
22 /*
23  * Copyright 2008 Emulex.  All rights reserved.
24  * Use is subject to License terms.
25  */
26 
27 
28 #ifndef _EMLXS_MESSAGES_H
29 #define	_EMLXS_MESSAGES_H
30 
31 #ifdef	__cplusplus
32 extern "C" {
33 #endif
34 
35 
36 #ifdef DEF_MSG_REPORT
37 
38 #define	DEFINE_MSG(_id, _name, _msg, _level, _mask, _desc, _action) \
39 		{_msg, _id, _level, _mask, _desc, _action, 0},
40 
41 #else	/* DEF_MSG_REPORT */
42 
43 #ifdef DEF_MSG_STRUCT
44 
45 #define	DEFINE_MSG(_id, _name, _msg, _level, _mask, _desc, _action) \
46 			emlxs_msg_t _name = {_msg, _id, _level, _mask};
47 
48 #else
49 
50 #define	DEFINE_MSG(_id, _name, _msg, _level, _mask, _desc, _action) \
51 			extern emlxs_msg_t _name;
52 
53 #endif	/* DEF_MSG_STRUCT */
54 
55 #endif	/* DEF_MSG_REPORT */
56 
57 
58 /*
59  *
60  * LOG Message Types Numbering Sequence
61  *
62  * Message Group            From
63  *
64  * MISC                     000
65  * DRIVER                   100    -Driver Attach and Detach events
66  * INIT                     200    -HBA initialization events
67  * MEM                      300
68  * SLI                      400
69  * MBOX                     500
70  * NODE                     600
71  * LINK                     700
72  * ELS                      800
73  * PKT                      900
74  * FCP                      1000
75  * FCT (FCP Target)         1100
76  * IP                       1200
77  * SFS               		1300
78  * IOCTL                    1400
79  * FIRMWARE                 1500
80  * CT                       1600
81  * FCSP                     1700
82  * EVENTS                   2000
83  *
84  */
85 
86 #ifdef DEF_MSG_REPORT
87 typedef struct emlxs_msg_group {
88 	uint32_t min;
89 	uint32_t max;
90 	char desc[80];
91 
92 } emlxs_msg_group_t;
93 
94 emlxs_msg_group_t msg_group[] =
95 {
96 	{0, 99, "Miscellaneous Events"},
97 	{100, 199, "Driver Events"},
98 	{200, 299, "HBA Initialization Events"},
99 	{300, 399, "Memory Management Events"},
100 	{400, 499, "Service level Interface (SLI) Events"},
101 	{500, 599, "Mailbox Events"},
102 	{600, 699, "Node Events"},
103 	{700, 799, "Link Events"},
104 	{800, 899, "ELS Events"},
105 	{900, 999, "General I/O Packet Events"},
106 	{1000, 1099, "FCP Traffic Events"},
107 	{1100, 1199, "FCT Traffic Events"},
108 	{1200, 1299, "IP Traffic Events"},
109 	{1300, 1399, "Solaris SFS Events"},
110 	{1400, 1499, "IOCTL Events"},
111 	{1500, 1599, "Firmware Download Events"},
112 	{1600, 1699, "Common Transport Events"},
113 	{1700, 1799, "Fibre Channel Security Protocol (FCSP) Events"},
114 };
115 #define	MAX_MSG_GROUPS   (sizeof (msg_group)/sizeof (emlxs_msg_group_t))
116 #endif	/* DEF_MSG_REPORT */
117 
118 
119 /* Verbose flags */
120 #define	MSG_DISABLED	0x00000000	/* Always off */
121 #define	MSG_MISC	0x00000001	/* Misc events */
122 #define	MSG_DRIVER	0x00000002	/* Driver attach and detach events */
123 #define	MSG_INIT	0x00000004	/* Initialization events */
124 #define	MSG_MEM		0x00000008	/* Memory management events */
125 #define	MSG_SLI		0x00000010	/* SLI events */
126 #define	MSG_MBOX	0x00000020	/* Mailbox events */
127 #define	MSG_NODE	0x00000040	/* Node table events */
128 #define	MSG_LINK	0x00000080	/* Link events */
129 #define	MSG_ELS		0x00000100	/* ELS events */
130 #define	MSG_PKT		0x00000200	/* General I/O packet events */
131 #define	MSG_FCP		0x00000400	/* FCP traffic events */
132 #define	MSG_FCT		0x00000800	/* FCP Target Mode events */
133 #define	MSG_IP		0x00001000	/* IP traffic events */
134 #define	MSG_SFS		0x00002000	/* ULP interface events */
135 #define	MSG_IOCTL	0x00004000	/* IOCtl events */
136 #define	MSG_FIRMWARE	0x00008000	/* Firmware download events */
137 #define	MSG_CT		0x00010000	/* CT events */
138 #define	MSG_FCSP	0x00020000	/* FCSP events */
139 #define	MSG_RESV18	0x00040000
140 #define	MSG_RESV19	0x00080000
141 #define	MSG_RESV20	0x00100000
142 #define	MSG_RESV21	0x00200000
143 #define	MSG_FCT_API	0x00400000	/* FCP Target Mode API trace */
144 #define	MSG_FCT_DETAIL	0x00800000	/* Detailed Target Mode events */
145 #define	MSG_FCSP_DETAIL	0x01000000	/* Detailed FCSP events */
146 #define	MSG_NODE_DETAIL	0x02000000	/* Detailed node events */
147 #define	MSG_IOCTL_DETAIL 0x04000000	/* Detailed IOCTL events */
148 #define	MSG_IP_DETAIL	0x08000000	/* Detailed ip events (very verbose) */
149 #define	MSG_FIRMWARE_DETAIL 0x10000000	/* Detailed firmware */
150 					/*   download events (very verbose) */
151 #define	MSG_SFS_DETAIL	0x20000000	/* Detailed SFS interface events */
152 					/*   (very verbose) */
153 #define	MSG_MBOX_DETAIL	0x40000000	/* Detailed Mailbox events */
154 					/*   (very verbose) */
155 #define	MSG_SLI_DETAIL	0x80000000	/* Detailed SLI events */
156 					/*   (very verbose) */
157 #define	MSG_ALWAYS	0xffffffff	/* Always on   */
158 
159 /* DFC Events */
160 #define	EVT_LINK	0x00000001	/* FC_REG_LINK_EVENT */
161 #define	EVT_RSCN	0x00000002	/* FC_REG_RSCN_EVENT */
162 #define	EVT_CT		0x00000004	/* FC_REG_CT_EVENT   */
163 #define	EVT_MPULSE	0x00000008	/* FC_REG_MULTIPULSE_EVENT */
164 #define	EVT_DUMP	0x00000010	/* FC_REG_DUMP_EVENT */
165 #define	EVT_TEMP	0x00000020	/* FC_REG_TEMP_EVENT */
166 #define	EVT_FCOE	0x80000000	/* FC_REG_FCOE_EVENT */
167 
168 /* Msg Levels */
169 #define	EMLXS_DEBUG	1
170 #define	EMLXS_NOTICE	2
171 #define	EMLXS_WARNING	3
172 #define	EMLXS_ERROR	4
173 #define	EMLXS_PANIC	5
174 #define	EMLXS_EVENT	6
175 
176 
177 typedef struct emlxs_msg {
178 	char buffer[64];	/* Msg buffer */
179 	uint32_t id;	/* Msg number */
180 	uint32_t level;	/* Msg level  */
181 	uint32_t mask;	/* Msg mask (bit field) Message will be logged only */
182 
183 #ifdef DEF_MSG_REPORT
184 	char desc[512];
185 	char action[512];
186 	uint32_t flags;
187 #endif	/* DEF_MSG_REPORT */
188 
189 } emlxs_msg_t;
190 
191 
192 /* ACTION defines (common) */
193 #define	ACTION_NONE		"No action needed, informational."
194 #define	ACTION_NONE_REP		"No action needed, informational." \
195 				" However, if the problem persists," \
196 				" report these errors to your customer" \
197 				" service representative."
198 #define	ACTION_NONE_ADM		"No action needed, informational." \
199 				" However, if the problem persists, report" \
200 				" these errors to your system administrator."
201 #define	ACTION_CHK_HSCFG	"Check your hardware and software" \
202 				" configuration.  If the problem persists," \
203 				" report these errors to your customer" \
204 				" service representative."
205 #define	ACTION_CHK_HCFG		"Check your hardware configuration." \
206 				"  If the problem persists, report these" \
207 				" errors to your customer service" \
208 				" representative."
209 #define	ACTION_CHK_CONN		"Check your network connections." \
210 				"  If the problem persists, report these" \
211 				" errors to your system administrator."
212 #define	ACTION_REP		"Contact your customer service" \
213 				" representative."
214 #define	ACTION_IMG_REP		"Obtain the proper image file." \
215 				" If the problem persists, report these" \
216 				" errors to your customer service" \
217 				" representative."
218 
219 
220 /* MESSAGE defines */
221 #ifdef DEF_MSG_REPORT
222 emlxs_msg_t emlxs_message[] =
223 {
224 #endif	/* DEF_MSG_REPORT */
225 
226 	/*
227 	 * GROUP:	MISC	000 - 099
228 	 */
229 
230 	DEFINE_MSG(1, \
231 		    emlxs_debug_msg, \
232 		    "", \
233 		    EMLXS_DEBUG, \
234 		    MSG_MISC, \
235 		    "This is a general purpose informational message.", \
236 		    ACTION_NONE)
237 
238 	DEFINE_MSG(2, \
239 		    emlxs_notice_msg, \
240 		    "", \
241 		    EMLXS_NOTICE, \
242 		    MSG_MISC, \
243 		    "This is a general purpose informational message.", \
244 		    ACTION_NONE)
245 
246 	DEFINE_MSG(3, \
247 		    emlxs_warning_msg, \
248 		    "", \
249 		    EMLXS_WARNING, \
250 		    MSG_MISC, \
251 		    "This is a general purpose warning message.", \
252 		    ACTION_NONE)
253 
254 	DEFINE_MSG(4, \
255 		    emlxs_error_msg, \
256 		    "", \
257 		    EMLXS_ERROR, \
258 		    MSG_MISC, \
259 		    "This is a general purpose error message.", \
260 		    ACTION_NONE)
261 
262 	DEFINE_MSG(5, \
263 		    emlxs_panic_msg, \
264 		    "", \
265 		    EMLXS_PANIC, \
266 		    MSG_MISC, \
267 		    "This is a general purpose panic message.", \
268 		    ACTION_REP)
269 
270 	DEFINE_MSG(6, \
271 		    emlxs_event_msg, \
272 		    "", \
273 		    EMLXS_EVENT, \
274 		    MSG_MISC, \
275 		    "This is a general purpose event message.", \
276 		    ACTION_REP)
277 
278 	/*
279 	 * GROUP:	DRIVER	100 - 199
280 	 */
281 
282 	DEFINE_MSG(100, \
283 		    emlxs_attach_msg, \
284 		    "Driver attach.", \
285 		    EMLXS_NOTICE, \
286 		    MSG_DRIVER, \
287 		    "This indicates that the driver is performing an attach"
288 			" operation.", \
289 		    ACTION_NONE)
290 
291 	DEFINE_MSG(101, \
292 		    emlxs_attach_failed_msg, \
293 		    "Driver attach failed.", \
294 		    EMLXS_ERROR, \
295 		    MSG_DRIVER, \
296 		    "This indicates that the driver was unable to attach due"
297 			" to some issue.", \
298 		    ACTION_CHK_HSCFG)
299 
300 	DEFINE_MSG(102, \
301 		    emlxs_attach_debug_msg, \
302 		    "Driver attach.", \
303 		    EMLXS_DEBUG, \
304 		    MSG_DRIVER, \
305 		    "This indicates that the driver is performing a attach"
306 			" operation.", \
307 		    ACTION_NONE)
308 
309 	DEFINE_MSG(110, \
310 		    emlxs_detach_msg, \
311 		    "Driver detach.", \
312 		    EMLXS_NOTICE, \
313 		    MSG_DRIVER, \
314 		    "This indicates that the driver is performing a detach"
315 			" operation.", \
316 		    ACTION_NONE)
317 
318 	DEFINE_MSG(111, \
319 		    emlxs_detach_failed_msg, \
320 		    "Driver detach failed.", \
321 		    EMLXS_ERROR, \
322 		    MSG_DRIVER, \
323 		    "This indicates that the driver was unable to detach due"
324 			" to some issue.", \
325 		    ACTION_CHK_HSCFG)
326 
327 	DEFINE_MSG(112, \
328 		    emlxs_detach_debug_msg, \
329 		    "Driver detach.", \
330 		    EMLXS_DEBUG, \
331 		    MSG_DRIVER, \
332 		    "This indicates that the driver is performing a detach"
333 			" operation.", \
334 		    ACTION_NONE)
335 
336 	DEFINE_MSG(120, \
337 		    emlxs_suspend_msg, \
338 		    "Driver suspend.", \
339 		    EMLXS_DEBUG, \
340 		    MSG_DRIVER, \
341 		    "This indicates that the driver is performing a suspend"
342 			" operation.", \
343 		    ACTION_NONE)
344 
345 	DEFINE_MSG(121, \
346 		    emlxs_suspend_failed_msg, \
347 		    "Driver suspend failed.", \
348 		    EMLXS_ERROR, \
349 		    MSG_DRIVER, \
350 		    "This indicates that the driver was unable to suspend due"
351 			" to some issue.", \
352 		    ACTION_CHK_HSCFG)
353 
354 	DEFINE_MSG(130, \
355 		    emlxs_resume_msg, \
356 		    "Driver resume.", \
357 		    EMLXS_DEBUG, \
358 		    MSG_DRIVER, \
359 		    "This indicates that the driver is performing a resume"
360 			" operation.", \
361 		    ACTION_NONE)
362 
363 	DEFINE_MSG(131, \
364 		    emlxs_resume_failed_msg, \
365 		    "Driver resume failed.", \
366 		    EMLXS_ERROR, \
367 		    MSG_DRIVER, \
368 		    "This indicates that the driver was unable to resume due"
369 			" to some issue.", \
370 		    ACTION_CHK_HSCFG)
371 
372 	/*
373 	 * GROUP:	INIT	200 - 299
374 	 */
375 
376 
377 	DEFINE_MSG(200, \
378 		    emlxs_init_msg, \
379 		    "Adapter initialization.", \
380 		    EMLXS_NOTICE, \
381 		    MSG_INIT, \
382 		    "This indicates that the adapter is initializing.", \
383 		    ACTION_NONE)
384 
385 	DEFINE_MSG(201, \
386 		    emlxs_init_failed_msg, \
387 		    "Adapter initialization failed.", \
388 		    EMLXS_ERROR, \
389 		    MSG_INIT, \
390 		    "This indicates that an attempt to initialize the adapter"
391 			" has failed.", \
392 		    ACTION_CHK_HCFG)
393 
394 	DEFINE_MSG(202, \
395 		    emlxs_init_debug_msg, \
396 		    "Adapter initialization.", \
397 		    EMLXS_DEBUG, \
398 		    MSG_INIT, \
399 		    "This indicates that the adapter is initializing.", \
400 		    ACTION_NONE)
401 
402 	DEFINE_MSG(210, \
403 		    emlxs_adapter_trans_msg, \
404 		    "Adapter transition.", \
405 		    EMLXS_DEBUG, \
406 		    MSG_INIT, \
407 		    "This indicates that the adapter is changing states.", \
408 		    ACTION_NONE)
409 
410 	DEFINE_MSG(220, \
411 		    emlxs_online_msg, \
412 		    "Adapter online.", \
413 		    EMLXS_DEBUG, \
414 		    MSG_INIT, \
415 		    "This indicates that the adapter is online and ready to"
416 			" communicate.", \
417 		    ACTION_NONE)
418 
419 	DEFINE_MSG(230, \
420 		    emlxs_offline_msg, \
421 		    "Adapter offline.", \
422 		    EMLXS_DEBUG, \
423 		    MSG_INIT, \
424 		    "This indicates that the adapter is offline and unable to"
425 			" communicate.", \
426 		    ACTION_NONE)
427 
428 	DEFINE_MSG(231, \
429 		    emlxs_shutdown_msg, \
430 		    "Adapter shutdown.", \
431 		    EMLXS_WARNING, \
432 		    MSG_INIT, \
433 		    "This indicates that the adapter has been shutdown and"
434 			" will require a reboot to reinitialize.", \
435 		    ACTION_REP)
436 
437 	DEFINE_MSG(240, \
438 		    emlxs_reset_failed_msg, \
439 		    "Adapter reset failed.", \
440 		    EMLXS_ERROR, \
441 		    MSG_INIT, \
442 		    "This indicates that an attempt to reset the adapter has"
443 			" failed.", \
444 		    ACTION_CHK_HCFG)
445 
446 	/*
447 	 * GROUP:	MEM	300 - 399
448 	 */
449 
450 
451 	DEFINE_MSG(300, \
452 		    emlxs_mem_alloc_msg, \
453 		    "Memory alloc.", \
454 		    EMLXS_DEBUG, \
455 		    MSG_MEM, \
456 		    "This indicates that the driver allocated system"
457 			" memory.", \
458 		    ACTION_NONE)
459 
460 	DEFINE_MSG(301, \
461 		    emlxs_mem_alloc_failed_msg, \
462 		    "Memory alloc failed.", \
463 		    EMLXS_ERROR, \
464 		    MSG_MEM, \
465 		    "This indicates that the driver was unable to allocate"
466 			" system memory. The system is low on memory"
467 			" resources.", \
468 		    ACTION_NONE_ADM)
469 
470 	DEFINE_MSG(310, \
471 		    emlxs_pool_error_msg, \
472 		    "Memory pool error.", \
473 		    EMLXS_ERROR, \
474 		    MSG_MEM, \
475 		    "This indicates that a problem has occurred with the"
476 			" memory buffer pool management.", \
477 		    ACTION_NONE_REP)
478 
479 	DEFINE_MSG(311, \
480 		    emlxs_pool_alloc_failed_msg, \
481 		    "Memory pool alloc failed.", \
482 		    EMLXS_DEBUG, \
483 		    MSG_MEM, \
484 		    "This indicates that the driver was unable to allocate"
485 			" memory from one of its own memory pools.", \
486 		    "If the problem occurs frequently you may be able to"
487 			" configure more resources for that pool. If this"
488 			" does not solve the problem, report these errors to"
489 			" customer service.")
490 
491 	DEFINE_MSG(320, \
492 		    emlxs_no_unsol_buf_msg, \
493 		    "No unsolicited buffer available.", \
494 		    EMLXS_NOTICE, \
495 		    MSG_MEM, \
496 		    "This indicates that the driver's unsolicited buffer pool"
497 			" is exhausted. The I/O will be dropped and most"
498 			" likely retried by the remote device.", \
499 		    "If the problem occurs frequently you may be able to"
500 			" configure more resources for that pool. If this"
501 			" does not solve the problem, report these errors to"
502 			" customer service.")
503 
504 	/*
505 	 * GROUP:	SLI	400 - 499
506 	 */
507 
508 
509 	DEFINE_MSG(400, \
510 		    emlxs_vpd_msg, \
511 		    "Vital Product Data.", \
512 		    EMLXS_DEBUG, \
513 		    MSG_SLI, \
514 		    "This provides vendor specific information about the"
515 			" adapter.", \
516 		    ACTION_NONE)
517 
518 	DEFINE_MSG(410, \
519 		    emlxs_link_atten_msg, \
520 		    "Link atten.", \
521 		    EMLXS_DEBUG, \
522 		    MSG_SLI, \
523 		    "This indicates that the adapter has triggered a link"
524 			" attention interrupt.", \
525 		    ACTION_NONE)
526 
527 	DEFINE_MSG(411, \
528 		    emlxs_state_msg, \
529 		    "State change.", \
530 		    EMLXS_DEBUG, \
531 		    MSG_SLI, \
532 		    "This indicates that the adapter has changed state.", \
533 		    ACTION_NONE)
534 
535 	DEFINE_MSG(420, \
536 		    emlxs_hardware_error_msg, \
537 		    "Adapter hardware error.", \
538 		    EMLXS_ERROR, \
539 		    MSG_SLI, \
540 		    "This indicates that an interrupt has occurred and the"
541 			" status register indicates a nonrecoverable hardware"
542 			" error.", \
543 		    "This error usually indicates a hardware problem with the"
544 			" adapter. Try running adapter diagnostics. Report"
545 			" these errors to customer service.")
546 
547 	DEFINE_MSG(421, \
548 		    emlxs_temp_msg, \
549 		    "Adapter temperature.", \
550 		    EMLXS_NOTICE, \
551 		    MSG_SLI, \
552 		    "This indicates that the adapter has provided general"
553 			" information about the adapter's temperature.", \
554 		    ACTION_NONE)
555 
556 	DEFINE_MSG(422, \
557 		    emlxs_temp_warning_msg, \
558 		    "Adapter temperature.", \
559 		    EMLXS_WARNING, \
560 		    MSG_SLI, \
561 		    "This indicates that adapter's temperature is too hot.", \
562 		    "Check hardware ventilation. Reduce adapter usage."
563 			" Shutdown host system.")
564 
565 	DEFINE_MSG(423, \
566 		    emlxs_adapter_notice_msg, \
567 		    "Adapter notice.", \
568 		    EMLXS_NOTICE, \
569 		    MSG_SLI, \
570 		    "This indicates that the adapter has provided general"
571 			" information about the adapter's condition.", \
572 		    ACTION_NONE)
573 
574 	DEFINE_MSG(424, \
575 		    emlxs_adapter_warning_msg, \
576 		    "Adapter warning.", \
577 		    EMLXS_WARNING, \
578 		    MSG_SLI, \
579 		    "This indicates that an interrupt has occurred indicating"
580 			" a recoverable adapter error.", \
581 		    "This error usually indicates a hardware or firmware"
582 			" problem with the adapter. Check and/or update"
583 			" firmware levels. Report these errors to customer"
584 			" service.")
585 
586 	DEFINE_MSG(425, \
587 		    emlxs_adapter_error_msg, \
588 		    "Adapter error.", \
589 		    EMLXS_ERROR, \
590 		    MSG_SLI, \
591 		    "This indicates that a recoverable adapter error has"
592 			" occurred.", \
593 		    "This error usually indicates a hardware or firmware"
594 			" problem with the adapter. Check and/or update"
595 			" firmware levels. Report these errors to customer"
596 			" service.")
597 
598 	DEFINE_MSG(430, \
599 		    emlxs_ring_event_msg, \
600 		    "Ring event.", \
601 		    EMLXS_DEBUG, \
602 		    MSG_SLI, \
603 		    "This indicates that an SLI ring event has occurred.", \
604 		    ACTION_NONE)
605 
606 	DEFINE_MSG(431, \
607 		    emlxs_ring_error_msg, \
608 		    "Ring error.", \
609 		    EMLXS_DEBUG, \
610 		    MSG_SLI, \
611 		    "This indicates an SLI ring error is being reported by"
612 			" the adapter", \
613 		    ACTION_NONE)
614 
615 	DEFINE_MSG(432, \
616 		    emlxs_ring_reset_msg, \
617 		    "Ring reset.", \
618 		    EMLXS_DEBUG, \
619 		    MSG_SLI, \
620 		    "This indicates an SLI ring is being reset.", \
621 		    ACTION_NONE)
622 
623 	DEFINE_MSG(440, \
624 		    emlxs_adapter_msg, \
625 		    "Adapter msg.", \
626 		    EMLXS_DEBUG, \
627 		    MSG_SLI, \
628 		    "This indicates that a message was sent to the driver"
629 			" from the adapter.", \
630 		    ACTION_NONE)
631 
632 	DEFINE_MSG(450, \
633 		    emlxs_iocb_invalid_msg, \
634 		    "IOCB invalid.", \
635 		    EMLXS_ERROR, \
636 		    MSG_SLI, \
637 		    "This indicates that an IOCB was received from the adapter"
638 			" with an illegal value. This error could indicate a"
639 			" driver or firmware problem.", \
640 		    ACTION_NONE_REP)
641 
642 	DEFINE_MSG(451, \
643 		    emlxs_iocb_qfull_msg, \
644 		    "IOCB queue full.", \
645 		    EMLXS_DEBUG, \
646 		    MSG_SLI, \
647 		    "This indicates that the IOCB queue is full. This will"
648 			" occur during normal operation.", \
649 		    ACTION_NONE)
650 
651 	DEFINE_MSG(452, \
652 		    emlxs_iocb_event_msg, \
653 		    "IOCB event.", \
654 		    EMLXS_DEBUG, \
655 		    MSG_SLI, \
656 		    "This indicates an IOCB local error event is being"
657 			" reported by the adapter", \
658 		    ACTION_NONE)
659 
660 	DEFINE_MSG(453, \
661 		    emlxs_iocb_stale_msg, \
662 		    "IOCB stale.", \
663 		    EMLXS_DEBUG, \
664 		    MSG_SLI, \
665 		    "This indicates an IOCB completed after its associated"
666 			" packet completed.", \
667 		    ACTION_NONE)
668 
669 	DEFINE_MSG(460, \
670 		    emlxs_sli_detail_msg, \
671 		    "SLI detail.", \
672 		    EMLXS_DEBUG, \
673 		    MSG_SLI_DETAIL, \
674 		    "This provides detailed information about an SLI event.", \
675 		    ACTION_NONE)
676 
677 	/*
678 	 * GROUP:	MBOX	500 - 599
679 	 */
680 
681 
682 	DEFINE_MSG(500, \
683 		    emlxs_mbox_event_msg, \
684 		    "Mailbox event.", \
685 		    EMLXS_DEBUG, \
686 		    MSG_MBOX, \
687 		    "This indicates that a mailbox event has occurred.", \
688 		    ACTION_NONE)
689 
690 	DEFINE_MSG(501, \
691 		    emlxs_mbox_detail_msg, \
692 		    "Mailbox detail.", \
693 		    EMLXS_DEBUG, \
694 		    MSG_MBOX_DETAIL, \
695 		    "This provides detailed information about a mailbox"
696 			" event.", \
697 		    ACTION_NONE)
698 
699 	DEFINE_MSG(510, \
700 		    emlxs_stray_mbox_intr_msg, \
701 		    "Stray mailbox interrupt.", \
702 		    EMLXS_DEBUG, \
703 		    MSG_MBOX, \
704 		    "This indicates that a mailbox command completion"
705 			" interrupt was received and the mailbox is not valid."
706 			"  This error could indicate a driver or firmware"
707 				" problem.", \
708 		    ACTION_NONE_REP)
709 
710 	DEFINE_MSG(520, \
711 		    emlxs_mbox_completion_error_msg, \
712 		    "Mailbox error.", \
713 		    EMLXS_DEBUG, \
714 		    MSG_MBOX, \
715 		    "This indicates that an unsupported or illegal mailbox"
716 			" command was completed.  This error could indicate a"
717 			" driver or firmware problem.", \
718 		    ACTION_NONE_REP)
719 
720 	/*
721 	 * GROUP:	NODE	600 - 699
722 	 */
723 
724 	DEFINE_MSG(600, \
725 		    emlxs_node_create_msg, \
726 		    "Node create.", \
727 		    EMLXS_DEBUG, \
728 		    MSG_NODE, \
729 		    "This indicates that a node has been created for a remote"
730 			" device.", \
731 		    ACTION_NONE)
732 
733 	DEFINE_MSG(601, \
734 		    emlxs_node_opened_msg, \
735 		    "Node opened.", \
736 		    EMLXS_DEBUG, \
737 		    MSG_NODE_DETAIL, \
738 		    "This indicates that a node has been opened for IO"
739 			" transport.", \
740 		    ACTION_NONE)
741 
742 	DEFINE_MSG(602, \
743 		    emlxs_node_create_failed_msg, \
744 		    "Node create failed.", \
745 		    EMLXS_NOTICE, \
746 		    MSG_NODE, \
747 		    "This indicates that a node create request for a remote"
748 			" device has failed.", \
749 		    ACTION_NONE)
750 
751 	DEFINE_MSG(603, \
752 		    emlxs_node_update_msg, \
753 		    "Node updated.", \
754 		    EMLXS_DEBUG, \
755 		    MSG_NODE, \
756 		    "This indicates that a node has been updated for a remote"
757 			" device.", \
758 		    ACTION_NONE)
759 
760 	DEFINE_MSG(610, \
761 		    emlxs_node_destroy_msg, \
762 		    "Node destroy.", \
763 		    EMLXS_DEBUG, \
764 		    MSG_NODE, \
765 		    "This indicates that a node has been destroyed for a remote"
766 			" device.", \
767 		    ACTION_NONE)
768 
769 	DEFINE_MSG(611, \
770 		    emlxs_node_closed_msg, \
771 		    "Node closed.", \
772 		    EMLXS_DEBUG, \
773 		    MSG_NODE_DETAIL, \
774 		    "This indicates that a node has been temporarily closed"
775 			" for IO transport.", \
776 		    ACTION_NONE)
777 
778 	DEFINE_MSG(612, \
779 		    emlxs_node_missing_msg, \
780 		    "Node missing.", \
781 		    EMLXS_NOTICE, \
782 		    MSG_NODE, \
783 		    "This indicates that a FCP2 device node has been found"
784 			" missing.", \
785 		    ACTION_NONE)
786 
787 	DEFINE_MSG(620, \
788 		    emlxs_node_not_found_msg, \
789 		    "Node not found.", \
790 		    EMLXS_DEBUG, \
791 		    MSG_NODE, \
792 		    "This indicates that there was an attempt to send an I/O"
793 			" pkt to an unknown device node. The driver maintains"
794 			" a node table entry for every device it needs to"
795 			" communicate with on the FC network.", \
796 		    ACTION_NONE_REP)
797 
798 	/*
799 	 * GROUP:	LINK	700 - 799
800 	 */
801 
802 	DEFINE_MSG(700, \
803 		    emlxs_link_event_msg, \
804 		    "Link event.", \
805 		    EMLXS_DEBUG, \
806 		    MSG_LINK | MSG_SLI, \
807 		    "This indicates that a link event has occurred.", \
808 		    ACTION_NONE)
809 
810 	DEFINE_MSG(710, \
811 		    emlxs_link_down_msg, \
812 		    "Link down.", \
813 		    EMLXS_NOTICE, \
814 		    MSG_LINK, \
815 		    "This indicates that the fibre channel link is down to"
816 			" the adapter.", \
817 		    ACTION_CHK_CONN)
818 
819 	DEFINE_MSG(720, \
820 		    emlxs_link_up_msg, \
821 		    "Link up.", \
822 		    EMLXS_NOTICE, \
823 		    MSG_LINK, \
824 		    "This indicates that the fibre channel link is up.", \
825 		    ACTION_NONE)
826 
827 	DEFINE_MSG(721, \
828 		    emlxs_npiv_link_up_msg, \
829 		    "NPIV Link up.", \
830 		    EMLXS_NOTICE, \
831 		    MSG_LINK, \
832 		    "This indicates that the fibre channel link is up for all"
833 			" virtual ports.", \
834 		    ACTION_NONE)
835 
836 	DEFINE_MSG(730, \
837 		    emlxs_link_reset_msg, \
838 		    "Link reset.", \
839 		    EMLXS_NOTICE, \
840 		    MSG_LINK | MSG_SFS, \
841 		    "This indicates that an issue has forced the fibre channel"
842 			" link to be reset.", \
843 		    ACTION_NONE)
844 
845 	DEFINE_MSG(731, \
846 		    emlxs_link_reset_failed_msg, \
847 		    "Link reset failed.", \
848 		    EMLXS_ERROR, \
849 		    MSG_LINK | MSG_SFS, \
850 		    "This indicates that an attempt to reset the fibre channel"
851 			" link has failed.", \
852 		    ACTION_NONE_REP)
853 
854 	/*
855 	 * GROUP:	ELS	800 - 899
856 	 */
857 
858 	DEFINE_MSG(800, \
859 		    emlxs_els_send_msg, \
860 		    "ELS sent. ", \
861 		    EMLXS_DEBUG, \
862 		    MSG_ELS, \
863 		    "This indicates that an ELS command is being sent.", \
864 		    ACTION_NONE)
865 
866 	DEFINE_MSG(801, \
867 		    emlxs_els_completion_msg, \
868 		    "ELS comp. ", \
869 		    EMLXS_DEBUG, \
870 		    MSG_ELS, \
871 		    "This indicates that an ELS command completed normally.", \
872 		    ACTION_NONE)
873 
874 	DEFINE_MSG(810, \
875 		    emlxs_stray_els_completion_msg, \
876 		    "Stray ELS completion.", \
877 		    EMLXS_ERROR, \
878 		    MSG_ELS, \
879 		    "This indicates that the an ELS command completion was"
880 			" received without issuing a corresponding ELS"
881 			" command. This error could indicate a driver or"
882 			" firmware problem. ", \
883 		    ACTION_NONE_REP)
884 
885 	DEFINE_MSG(811, \
886 		    emlxs_bad_els_completion_msg, \
887 		    "Abnormal ELS completion.", \
888 		    EMLXS_DEBUG, \
889 		    MSG_ELS, \
890 		    "This indicates that an ELS command completed with a"
891 			" status error in the IOCB.  It could mean the Fibre"
892 			" Channel device on the network is not responding or"
893 			" the Fibre Channel device is not an FCP target. The"
894 			" driver will automatically retry this ELS command if"
895 			" needed.", \
896 		    "If the command is a PLOGI or PRLI, and the destination"
897 			" PortID is not an FCP Target, no action is needed."
898 			" Otherwise, check physical connections to Fibre"
899 			" Channel network and the state the remote PortID"
900 				" is in.")
901 
902 	DEFINE_MSG(820, \
903 		    emlxs_unsol_els_msg, \
904 		    "ELS rcvd. ", \
905 		    EMLXS_DEBUG, \
906 		    MSG_ELS, \
907 		    "This indicates that an unsolicited ELS command was"
908 			" received.", \
909 		    ACTION_NONE)
910 
911 	DEFINE_MSG(821, \
912 		    emlxs_unsol_els_dropped_msg, \
913 		    "Unsolicited ELS dropped.", \
914 		    EMLXS_DEBUG, \
915 		    MSG_ELS, \
916 		    "This indicates that an unsolicited ELS command was"
917 			" received and then dropped for some reason.", \
918 		    ACTION_NONE)
919 
920 	DEFINE_MSG(822, \
921 		    emlxs_els_reply_msg, \
922 		    "ELS reply.", \
923 		    EMLXS_DEBUG, \
924 		    MSG_ELS, \
925 		    "This indicates that a reply is being sent for an"
926 			" unsolicited ELS command.", \
927 		    ACTION_NONE)
928 
929 	DEFINE_MSG(830, \
930 		    emlxs_invalid_els_msg, \
931 		    "Invalid ELS command found.", \
932 		    EMLXS_ERROR, \
933 		    MSG_ELS, \
934 		    "This indicates that an ELS command was found with an"
935 			" invalid command code.", \
936 		    ACTION_NONE_REP)
937 
938 	/*
939 	 * GROUP:	PKT	900 - 999
940 	 */
941 
942 
943 	DEFINE_MSG(900, \
944 		    emlxs_pkt_abort_msg, \
945 		    "Packet abort.", \
946 		    EMLXS_NOTICE, \
947 		    MSG_PKT, \
948 		    "This indicates that an I/O packet is being aborted.", \
949 		    ACTION_NONE)
950 
951 	DEFINE_MSG(901, \
952 		    emlxs_pkt_abort_failed_msg, \
953 		    "Packet abort failed.", \
954 		    EMLXS_WARNING, \
955 		    MSG_PKT, \
956 		    "This indicates that an attempt to abort an I/O packet"
957 			" has failed.", \
958 		    ACTION_NONE_REP)
959 
960 	DEFINE_MSG(910, \
961 		    emlxs_pkt_timeout_msg, \
962 		    "Packet timeout.", \
963 		    EMLXS_DEBUG, \
964 		    MSG_PKT, \
965 		    "This indicates that an I/O packet has timed out and is"
966 			" being aborted.", \
967 		    ACTION_NONE)
968 
969 	DEFINE_MSG(911, \
970 		    emlxs_ring_watchdog_msg, \
971 		    "Ring watchdog.", \
972 		    EMLXS_DEBUG, \
973 		    MSG_PKT, \
974 		    "This indicates that IO(s) are getting stale waiting on a"
975 			" ring tx queue.", \
976 		    ACTION_NONE)
977 
978 	DEFINE_MSG(912, \
979 		    emlxs_txq_watchdog_msg, \
980 		    "TXQ watchdog.", \
981 		    EMLXS_DEBUG, \
982 		    MSG_PKT, \
983 		    "This indicates that an IO was found missing from the"
984 			" transmit queue.", \
985 		    ACTION_NONE)
986 
987 	DEFINE_MSG(920, \
988 		    emlxs_pkt_flush_msg, \
989 		    "Packet flush.", \
990 		    EMLXS_DEBUG, \
991 		    MSG_PKT, \
992 		    "This indicates that an I/O packet is being flushed.", \
993 		    ACTION_NONE)
994 
995 	DEFINE_MSG(921, \
996 		    emlxs_pkt_flushed_msg, \
997 		    "Packet flushed.", \
998 		    EMLXS_DEBUG, \
999 		    MSG_PKT, \
1000 		    "This indicates that an I/O packet has been flushed.", \
1001 		    ACTION_NONE)
1002 
1003 	DEFINE_MSG(922, \
1004 		    emlxs_flush_timeout_msg, \
1005 		    "Packet flush timeout.", \
1006 		    EMLXS_NOTICE, \
1007 		    MSG_PKT, \
1008 		    "This indicates that an I/O packet flush request has"
1009 			" timed out with some I/O packets's still not"
1010 			" completed. The driver will attempt to recover by"
1011 			" itself.", \
1012 		    ACTION_NONE_REP)
1013 
1014 	DEFINE_MSG(930, \
1015 		    emlxs_pkt_trans_failed_msg, \
1016 		    "Packet transport failed.", \
1017 		    EMLXS_NOTICE, \
1018 		    MSG_PKT, \
1019 		    "This indicates that an attempt to send an I/O packet"
1020 			" failed. The I/O packet will be retried by the upper"
1021 			" layer.", \
1022 		    ACTION_NONE)
1023 
1024 	DEFINE_MSG(931, \
1025 		    emlxs_pkt_trans_error_msg, \
1026 		    "Packet transport error.", \
1027 		    EMLXS_ERROR, \
1028 		    MSG_PKT, \
1029 		    "This indicates that an error occurred while attempting"
1030 			" to send an I/O packet. The I/O packet will likely"
1031 			" be failed back to the user application.", \
1032 		    ACTION_NONE_REP)
1033 
1034 	DEFINE_MSG(932, \
1035 		    emlxs_pkt_trans_msg, \
1036 		    "Packet transport.", \
1037 		    EMLXS_DEBUG, \
1038 		    MSG_PKT, \
1039 		    "This provides additional information about a packet"
1040 			" being sent.", \
1041 		    ACTION_NONE)
1042 
1043 	DEFINE_MSG(940, \
1044 		    emlxs_pkt_completion_error_msg, \
1045 		    "Packet completion error.", \
1046 		    EMLXS_DEBUG, \
1047 		    MSG_PKT, \
1048 		    "This indicates that an I/O packet was completed with an"
1049 			" error status. This can occur during normal"
1050 			" operation.", \
1051 		    ACTION_NONE_REP)
1052 
1053 	/*
1054 	 * GROUP:	FCP	1000 - 1099
1055 	 */
1056 
1057 	DEFINE_MSG(1000, \
1058 		    emlxs_stray_fcp_completion_msg, \
1059 		    "Stray FCP completion.", \
1060 		    EMLXS_DEBUG, \
1061 		    MSG_FCP, \
1062 		    "This indicates that an FCP command completion was"
1063 			" received without issuing a corresponding FCP"
1064 			" Command. This error could indicate a driver or"
1065 			" firmware problem.", \
1066 		    ACTION_NONE_REP)
1067 
1068 	DEFINE_MSG(1001, \
1069 		    emlxs_fcp_completion_error_msg, \
1070 		    "FCP completion error.", \
1071 		    EMLXS_DEBUG, \
1072 		    MSG_FCP, \
1073 		    "This indicates that an FCP command completed with an"
1074 			" error status. These errors can occur during normal"
1075 			" operation.", \
1076 		    ACTION_NONE)
1077 
1078 	/*
1079 	 * GROUP:   FCT    1100 - 1199
1080 	 */
1081 
1082 #ifdef SFCT_SUPPORT
1083 	DEFINE_MSG(1100, \
1084 		    emlxs_fct_detail_msg, \
1085 		    "FCT detail.", \
1086 		    EMLXS_DEBUG, \
1087 		    MSG_FCT_DETAIL, \
1088 		    "This provides detailed information about the driver's"
1089 				" FCT interface.", \
1090 		    ACTION_NONE)
1091 
1092 	DEFINE_MSG(1110, \
1093 		    emlxs_fct_debug_msg, \
1094 		    "FCT debug.", \
1095 		    EMLXS_DEBUG, \
1096 		    MSG_FCT, \
1097 		    "This provides general information about the driver's"
1098 			" FCT interface.", \
1099 		    ACTION_NONE)
1100 
1101 	DEFINE_MSG(1120, \
1102 		    emlxs_fct_error_msg, \
1103 		    "FCT error.", \
1104 		    EMLXS_DEBUG, \
1105 		    MSG_FCT, \
1106 		    "This indicates a general error has occurred in the"
1107 			" driver's FCT interface.", \
1108 		    ACTION_NONE_REP)
1109 
1110 	DEFINE_MSG(1130, \
1111 		    emlxs_fct_api_msg, \
1112 		    "FCT API.", \
1113 		    EMLXS_DEBUG, \
1114 		    MSG_FCT_API, \
1115 		    "This provides an API trace with the driver's FCT"
1116 			" interface.", \
1117 		    ACTION_NONE)
1118 
1119 #endif	/* SFCT_SUPPORT */
1120 
1121 	/*
1122 	 * GROUP:	IP	1200 - 1299
1123 	 */
1124 
1125 
1126 	DEFINE_MSG(1200, \
1127 		    emlxs_ip_detail_msg, \
1128 		    "IP detail. ", \
1129 		    EMLXS_DEBUG, \
1130 		    MSG_IP_DETAIL, \
1131 		    "This provides detailed information about the driver's"
1132 			" IP interface.", \
1133 		    ACTION_NONE)
1134 
1135 	DEFINE_MSG(1210, \
1136 		    emlxs_stray_ip_completion_msg, \
1137 		    "Stray IP completion.", \
1138 		    EMLXS_ERROR, \
1139 		    MSG_IP, \
1140 		    "This indicates that the an IP sequence completion was"
1141 			" received without issuing a corresponding IP"
1142 			" sequence. This error could indicate a driver or"
1143 			" firmware problem. ", \
1144 		    ACTION_NONE_REP)
1145 
1146 	DEFINE_MSG(1211, \
1147 		    emlxs_bad_ip_completion_msg, \
1148 		    "Abnormal IP completion.", \
1149 		    EMLXS_DEBUG, \
1150 		    MSG_IP, \
1151 		    "This indicates that an IP sequence completed with a"
1152 			" status error in the IOCB.  It could mean the Fibre"
1153 			" Channel device on the network is not responding.", \
1154 		    ACTION_NONE_ADM)
1155 
1156 	DEFINE_MSG(1220, \
1157 		    emlxs_unsol_ip_dropped_msg, \
1158 		    "Unsolicited IP dropped.", \
1159 		    EMLXS_DEBUG, \
1160 		    MSG_IP, \
1161 		    "This indicates that an unsolicited IP sequence was"
1162 			" received, but was dropped for some reason.", \
1163 		    ACTION_NONE)
1164 
1165 	DEFINE_MSG(1221, \
1166 		    emlxs_unsol_ip_debug_msg, \
1167 		    "IP recvd.", \
1168 		    EMLXS_DEBUG, \
1169 		    MSG_IP, \
1170 		    "This indicates that an unsolicited IP sequence was"
1171 			" received.", \
1172 		    ACTION_NONE)
1173 
1174 	DEFINE_MSG(1230, \
1175 		    emlxs_invalid_ip_msg, \
1176 		    "Invalid IP sequence found.", \
1177 		    EMLXS_ERROR, \
1178 		    MSG_IP, \
1179 		    "This indicates that an IP sequence was found with an"
1180 			" invalid code.", \
1181 		    ACTION_NONE_REP)
1182 
1183 	/*
1184 	 * GROUP:	SFS	1300 - 1399
1185 	 */
1186 
1187 	DEFINE_MSG(1300, \
1188 		    emlxs_sfs_debug_msg, \
1189 		    "SFS.", \
1190 		    EMLXS_DEBUG, \
1191 		    MSG_SFS, \
1192 		    "This provides general information about the driver's SFS"
1193 			" interface.", \
1194 		    ACTION_NONE)
1195 
1196 	DEFINE_MSG(1301, \
1197 		    emlxs_sfs_detail_msg, \
1198 		    "SFS detail.", \
1199 		    EMLXS_DEBUG, \
1200 		    MSG_SFS_DETAIL, \
1201 		    "This provides detailed information about the driver's SFS"
1202 			" interface.", \
1203 		    ACTION_NONE)
1204 
1205 	DEFINE_MSG(1310, \
1206 		    emlxs_diag_error_msg, \
1207 		    "Diagnostic error.", \
1208 		    EMLXS_WARNING, \
1209 		    MSG_SFS, \
1210 		    "This indicates that a diagnostic request did not complete"
1211 			" because of some issue.", \
1212 		    ACTION_NONE_REP)
1213 
1214 	DEFINE_MSG(1311, \
1215 		    emlxs_echo_complete_msg, \
1216 		    "ECHO diagnostic completed.", \
1217 		    EMLXS_DEBUG, \
1218 		    MSG_SFS, \
1219 		    "This indicates that an ECHO diagnostic has completed.", \
1220 		    ACTION_NONE)
1221 
1222 	DEFINE_MSG(1312, \
1223 		    emlxs_echo_failed_msg, \
1224 		    "ECHO diagnostic failed.", \
1225 		    EMLXS_WARNING, \
1226 		    MSG_SFS, \
1227 		    "This indicates that an ECHO diagnostic has failed to"
1228 			" return a positive result. This could indicate a"
1229 			" connectivity problem with your FC network.", \
1230 		    ACTION_CHK_CONN)
1231 
1232 	DEFINE_MSG(1313, \
1233 		    emlxs_biu_complete_msg, \
1234 		    "BIU diagnostic completed.", \
1235 		    EMLXS_DEBUG, \
1236 		    MSG_SFS, \
1237 		    "This indicates that an BIU diagnostic has completed.", \
1238 		    ACTION_NONE)
1239 
1240 	DEFINE_MSG(1314, \
1241 		    emlxs_biu_failed_msg, \
1242 		    "BIU diagnostic failed.", \
1243 		    EMLXS_ERROR, \
1244 		    MSG_SFS, \
1245 		    "This indicates that an BIU diagnostic has failed to"
1246 			" return a positive result. This usually caused by an"
1247 			" adapter hardware problem.", \
1248 		    ACTION_REP)
1249 
1250 	DEFINE_MSG(1315, \
1251 		    emlxs_post_complete_msg, \
1252 		    "POST diagnostic completed.", \
1253 		    EMLXS_DEBUG, \
1254 		    MSG_SFS, \
1255 		    "This indicates that an POST diagnostic has completed.", \
1256 		    ACTION_NONE)
1257 
1258 	DEFINE_MSG(1316, \
1259 		    emlxs_post_failed_msg, \
1260 		    "POST diagnostic failed.", \
1261 		    EMLXS_ERROR, \
1262 		    MSG_SFS, \
1263 		    "This indicates that an POST diagnostic has failed to"
1264 			" return a positive result. This is usually caused by"
1265 			" an adapter hardware problem.", \
1266 		    ACTION_REP)
1267 
1268 	/*
1269 	 * GROUP:	IOCTL	1400 - 1499
1270 	 */
1271 
1272 
1273 	DEFINE_MSG(1400, \
1274 		    emlxs_ioctl_debug_msg, \
1275 		    "IOCTL.", \
1276 		    EMLXS_DEBUG, \
1277 		    MSG_IOCTL, \
1278 		    "This provides general information about the driver's"
1279 			" IOCTL interface.", \
1280 		    ACTION_NONE)
1281 
1282 	DEFINE_MSG(1401, \
1283 		    emlxs_ioctl_detail_msg, \
1284 		    "IOCTL detail.", \
1285 		    EMLXS_DEBUG, \
1286 		    MSG_IOCTL_DETAIL, \
1287 		    "This provides detailed information about the driver's"
1288 			" IOCTL interface.", \
1289 		    ACTION_NONE)
1290 
1291 	DEFINE_MSG(1410, \
1292 		    emlxs_dfc_debug_msg, \
1293 		    "DFC", \
1294 		    EMLXS_DEBUG, \
1295 		    MSG_IOCTL, \
1296 		    "This provides general information about the driver's"
1297 			" DFC interface.", \
1298 		    ACTION_NONE)
1299 
1300 	DEFINE_MSG(1411, \
1301 		    emlxs_dfc_detail_msg, \
1302 		    "DFC detail.", \
1303 		    EMLXS_DEBUG, \
1304 		    MSG_IOCTL_DETAIL, \
1305 		    "This provides detailed information about the driver's"
1306 			" DFC interface.", \
1307 		    ACTION_NONE)
1308 
1309 	DEFINE_MSG(1420, \
1310 		    emlxs_dfc_error_msg, \
1311 		    "DFC Error.", \
1312 		    EMLXS_DEBUG, \
1313 		    MSG_IOCTL, \
1314 		    "This indicates that an error was found while processing a"
1315 			" DFC request.", \
1316 		    ACTION_NONE)
1317 
1318 	/*
1319 	 * GROUP:   FIRMWARE   1500 - 1599
1320 	 */
1321 
1322 	DEFINE_MSG(1500, \
1323 		    emlxs_image_msg, \
1324 		    "Firmware image.", \
1325 		    EMLXS_DEBUG, \
1326 		    MSG_FIRMWARE, \
1327 		    "This provides information about the firmware image.", \
1328 		    ACTION_NONE)
1329 
1330 	DEFINE_MSG(1501, \
1331 		    emlxs_image_detail_msg, \
1332 		    "Firmware detail.", \
1333 		    EMLXS_DEBUG, \
1334 		    MSG_FIRMWARE_DETAIL, \
1335 		    "This provides detailed information about the firmware"
1336 			" image.", \
1337 		    ACTION_NONE)
1338 
1339 	DEFINE_MSG(1502, \
1340 		    emlxs_image_library_msg, \
1341 		    "Firmware Library", \
1342 		    EMLXS_NOTICE, \
1343 		    MSG_DRIVER, \
1344 		    "This shows the versions of firmware contained in the"
1345 			" driver's library.", \
1346 		    ACTION_NONE)
1347 
1348 	DEFINE_MSG(1510, \
1349 		    emlxs_image_bad_msg, \
1350 		    "Bad firmware image.", \
1351 		    EMLXS_ERROR, \
1352 		    MSG_FIRMWARE, \
1353 		    "This indicates that a bad firmware image was provided"
1354 			" to the download function.", \
1355 		    ACTION_IMG_REP)
1356 
1357 	DEFINE_MSG(1511, \
1358 		    emlxs_image_incompat_msg, \
1359 		    "Firmware image not compatible.", \
1360 		    EMLXS_ERROR, \
1361 		    MSG_FIRMWARE, \
1362 		    "This indicates that the firmware image provided was not"
1363 			" compatible with the existing hardware.", \
1364 		    ACTION_IMG_REP)
1365 
1366 	DEFINE_MSG(1520, \
1367 		    emlxs_download_msg, \
1368 		    "Firmware download.", \
1369 		    EMLXS_NOTICE, \
1370 		    MSG_FIRMWARE, \
1371 		    "This indicates that an attempt to download a firmware"
1372 			" image has occurred.", \
1373 		    ACTION_NONE)
1374 
1375 	DEFINE_MSG(1521, \
1376 		    emlxs_download_complete_msg, \
1377 		    "Firmware download complete.", \
1378 		    EMLXS_NOTICE, \
1379 		    MSG_FIRMWARE, \
1380 		    "This indicates that an attempt to download a firmware"
1381 			" image was successful.", \
1382 		    ACTION_NONE)
1383 
1384 	DEFINE_MSG(1522, \
1385 		    emlxs_download_failed_msg, \
1386 		    "Firmware download failed.", \
1387 		    EMLXS_ERROR, \
1388 		    MSG_FIRMWARE, \
1389 		    "This indicates that an attempt to download a firmware"
1390 			" image was failed.", \
1391 		    ACTION_CHK_HCFG)
1392 
1393 	/*
1394 	 * GROUP:	CT	1600 - 1699
1395 	 */
1396 
1397 	DEFINE_MSG(1600, \
1398 		    emlxs_ct_send_msg, \
1399 		    "CT sent. ", \
1400 		    EMLXS_DEBUG, \
1401 		    MSG_CT, \
1402 		    "This indicates that an CT command is being sent.", \
1403 		    ACTION_NONE)
1404 
1405 	DEFINE_MSG(1601, \
1406 		    emlxs_ct_completion_msg, \
1407 		    "CT comp. ", \
1408 		    EMLXS_DEBUG, \
1409 		    MSG_CT, \
1410 		    "This indicates that an CT command completed normally.", \
1411 		    ACTION_NONE)
1412 
1413 	DEFINE_MSG(1610, \
1414 		    emlxs_stray_ct_completion_msg, \
1415 		    "Stray CT completion.", \
1416 		    EMLXS_ERROR, \
1417 		    MSG_CT, \
1418 		    "This indicates that the an CT command completion was"
1419 			" received without issuing a corresponding CT command."
1420 			" This error could indicate a driver or"
1421 			" firmware problem. ", \
1422 		    ACTION_NONE_REP)
1423 
1424 	DEFINE_MSG(1611, \
1425 		    emlxs_bad_ct_completion_msg, \
1426 		    "Abnormal CT completion.", \
1427 		    EMLXS_DEBUG, \
1428 		    MSG_CT, \
1429 		    "This indicates that an CT command completed with a status"
1430 			" error in the IOCB.  It could mean the Fibre Channel"
1431 			" device on the network is not responding. The"
1432 			" driver will automatically retry this CT command"
1433 			" if needed.", \
1434 		    "Check physical connections to Fibre Channel network "
1435 			" and the state the remote PortID is in.")
1436 
1437 	DEFINE_MSG(1620, \
1438 		    emlxs_unsol_ct_msg, \
1439 		    "CT rcvd. ", \
1440 		    EMLXS_DEBUG, \
1441 		    MSG_CT, \
1442 		    "This indicates that an unsolicited CT command was"
1443 			" received.", \
1444 		    ACTION_NONE)
1445 
1446 	DEFINE_MSG(1621, \
1447 		    emlxs_unsol_ct_dropped_msg, \
1448 		    "Unsolicited CT dropped.", \
1449 		    EMLXS_DEBUG, \
1450 		    MSG_CT, \
1451 		    "This indicates that an unsolicited CT command was"
1452 			" received and then dropped for some reason.", \
1453 		    ACTION_NONE)
1454 
1455 	DEFINE_MSG(1622, \
1456 		    emlxs_ct_reply_msg, \
1457 		    "CT reply.", \
1458 		    EMLXS_DEBUG, \
1459 		    MSG_CT, \
1460 		    "This indicates that a reply is being sent for an"
1461 			" unsolicited CT command.", \
1462 		    ACTION_NONE)
1463 
1464 	DEFINE_MSG(1630, \
1465 		    emlxs_invalid_ct_msg, \
1466 		    "Invalid CT command found.", \
1467 		    EMLXS_ERROR, \
1468 		    MSG_CT, \
1469 		    "This indicates that an CT command was found with an"
1470 			" invalid command code.", \
1471 		    ACTION_NONE_REP)
1472 
1473 	/*
1474 	 * GROUP:  FC-SP (DHCHAP)   1700 - 1799
1475 	 */
1476 
1477 #ifdef DHCHAP_SUPPORT
1478 
1479 	DEFINE_MSG(1700, \
1480 		    emlxs_fcsp_debug_msg, \
1481 		    "FCSP", \
1482 		    EMLXS_DEBUG, \
1483 		    MSG_FCSP, \
1484 		    "This provides general information about the driver's FCSP"
1485 			" interface.", \
1486 		    ACTION_NONE)
1487 
1488 	DEFINE_MSG(1701, \
1489 		    emlxs_fcsp_detail_msg, \
1490 		    "FCSP detail.", \
1491 		    EMLXS_DEBUG, \
1492 		    MSG_FCSP_DETAIL, \
1493 		    "This provides detailed information about the driver's"
1494 			" FCSP interface.", \
1495 		    ACTION_NONE)
1496 
1497 	DEFINE_MSG(1702, \
1498 		    emlxs_fcsp_error_msg, \
1499 		    "FCSP error.", \
1500 		    EMLXS_DEBUG, \
1501 		    MSG_FCSP, \
1502 		    "This indicates that an error was found while processing"
1503 			" a DFC request.", \
1504 		    ACTION_NONE)
1505 
1506 	DEFINE_MSG(1705, \
1507 		    emlxs_fcsp_state_msg, \
1508 		    "FCSP state.", \
1509 		    EMLXS_DEBUG, \
1510 		    MSG_FCSP, \
1511 		    "This indicates that an authentication state is"
1512 			" changing.", \
1513 		    ACTION_NONE)
1514 
1515 	DEFINE_MSG(1706, \
1516 		    emlxs_fcsp_event_msg, \
1517 		    "FCSP event", \
1518 		    EMLXS_DEBUG, \
1519 		    MSG_FCSP, \
1520 		    "This indicates that an authentication event has"
1521 			" occurred.", \
1522 		    ACTION_NONE)
1523 
1524 	DEFINE_MSG(1707, \
1525 		    emlxs_fcsp_status_msg, \
1526 		    "FCSP status.", \
1527 		    EMLXS_DEBUG, \
1528 		    MSG_FCSP, \
1529 		    "This indicates that an authentication status is being"
1530 			" updated.", \
1531 		    ACTION_NONE)
1532 
1533 	DEFINE_MSG(1710, \
1534 		    emlxs_fcsp_start_msg, \
1535 		    "FCSP start.", \
1536 		    EMLXS_DEBUG, \
1537 		    MSG_FCSP, \
1538 		    "This indicates that authentication is being started to a"
1539 			" specific node.", \
1540 		    ACTION_NONE)
1541 
1542 	DEFINE_MSG(1720, \
1543 		    emlxs_fcsp_complete_msg, \
1544 		    "FCSP comp. ", \
1545 		    EMLXS_DEBUG, \
1546 		    MSG_FCSP, \
1547 		    "This indicates that authentication is being stopped or"
1548 			" completed to a specific node.", \
1549 		    ACTION_NONE)
1550 
1551 #endif	/* DHCHAP_SUPPORT */
1552 
1553 
1554 	/*
1555 	 * GROUP:   EVENT   2000 - 2099
1556 	 */
1557 
1558 	DEFINE_MSG(2000, \
1559 		    emlxs_link_event, \
1560 		    "Link.", \
1561 		    EMLXS_EVENT, \
1562 		    EVT_LINK, \
1563 		    "This indicates that a link event has occurred.", \
1564 		    ACTION_NONE)
1565 
1566 	DEFINE_MSG(2010, \
1567 		    emlxs_rscn_event, \
1568 		    "RSCN.", \
1569 		    EMLXS_EVENT, \
1570 		    EVT_RSCN, \
1571 		    "This indicates that an unsolicited RSCN command was"
1572 			" received.", \
1573 		    ACTION_NONE)
1574 
1575 	DEFINE_MSG(2020, \
1576 		    emlxs_ct_event, \
1577 		    "CT.", \
1578 		    EMLXS_EVENT, \
1579 		    EVT_CT, \
1580 		    "This indicates that an unsolicited CT command was"
1581 			" received.", \
1582 		    ACTION_NONE)
1583 
1584 	DEFINE_MSG(2030, \
1585 		    emlxs_dump_event, \
1586 		    "DUMP", \
1587 		    EMLXS_EVENT, \
1588 		    EVT_DUMP, \
1589 		    "This indicates that an HBA core dump has occurred.", \
1590 		    ACTION_NONE)
1591 
1592 	DEFINE_MSG(2040, \
1593 		    emlxs_temp_event, \
1594 		    "TEMP", \
1595 		    EMLXS_EVENT, \
1596 		    EVT_TEMP, \
1597 		    "This indicates that an adapter temperature event has"
1598 			" occurred.", \
1599 		    ACTION_NONE)
1600 
1601 	DEFINE_MSG(2050, \
1602 		    emlxs_fcoe_event, \
1603 		    "FCOE", \
1604 		    EMLXS_EVENT, \
1605 		    EVT_FCOE, \
1606 		    "This indicates that an adapter FCOE event has"
1607 			" occurred.", \
1608 		    ACTION_NONE)
1609 
1610 #ifdef DEF_MSG_REPORT
1611 };	/* emlxs_message[] */
1612 #endif	/* DEF_MSG_REPORT */
1613 
1614 #ifdef	__cplusplus
1615 }
1616 #endif
1617 
1618 #endif	/* _EMLXS_MESSAGES_H */
1619