emlxs_events.h revision e2ca2865a6870e9c6cbef6becbcc68cafde64537
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2009 Emulex. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _EMLXS_EVENTS_H
#define _EMLXS_EVENTS_H
#ifdef __cplusplus
extern "C" {
#endif
extern void emlxs_null_func();
#ifdef DEF_EVENT_STRUCT
extern void _destroy(); \
#else
extern void _destroy(); \
extern emlxs_event_t _name;
#endif /* DEF_EVENT_STRUCT */
/* Event Mask Bits */
#ifdef SAN_DIAG_SUPPORT
#endif /* SAN_DIAG_SUPPORT */
typedef struct emlxs_event
{
char label[64];
void (*destroy)();
#define EMLXS_EVENT_PERIOD 5
#define EVT_TIMEOUT_DEFAULT 60
#define EVT_TIMEOUT_NEVER 0
#define EVT_DESTROY_DEFAULT emlxs_null_func
/* EVENT defines */
"LINK", \
"RSCN", \
"VPORT RSCN", \
"CT", \
"DUMP", \
"TEMP", \
"FCOE", \
"ASYNC", \
#ifdef SAN_DIAG_SUPPORT
"SD_ELS", \
"SD_FC", \
"SD_SCSI", \
"SD_BOARD", \
#endif /* SAN_DIAG_SUPPORT */
#define MAX_LOG_INFO_LENGTH 96
typedef struct emlxs_event_entry
{
struct emlxs_event_entry *next;
struct emlxs_event_entry *prev;
void *port;
void *bp; /* Context buffer */
/* pointer */
/* size */
#define EMLXS_DFC_EVENT_DONE 0x00000001
#define EMLXS_SD_EVENT_DONE 0x00000002
typedef struct emlxs_event_queue
{
#ifdef __cplusplus
}
#endif
#endif /* _EMLXS_EVENTS_H */