| /* | 
 |  *  FC Transport Netlink Interface | 
 |  * | 
 |  *  Copyright (C) 2006   James Smart, Emulex Corporation | 
 |  * | 
 |  *  This program is free software; you can redistribute it and/or modify | 
 |  *  it under the terms of the GNU General Public License as published by | 
 |  *  the Free Software Foundation; either version 2 of the License, or | 
 |  *  (at your option) any later version. | 
 |  * | 
 |  *  This program is distributed in the hope that it will be useful, | 
 |  *  but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
 |  *  GNU General Public License for more details. | 
 |  * | 
 |  *  You should have received a copy of the GNU General Public License | 
 |  *  along with this program; if not, write to the Free Software | 
 |  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | 
 |  * | 
 |  */ | 
 | #ifndef SCSI_NETLINK_FC_H | 
 | #define SCSI_NETLINK_FC_H | 
 |  | 
 | #include <scsi/scsi_netlink.h> | 
 |  | 
 | /* | 
 |  * This file intended to be included by both kernel and user space | 
 |  */ | 
 |  | 
 | /* | 
 |  * FC Transport Message Types | 
 |  */ | 
 | 	/* kernel -> user */ | 
 | #define FC_NL_ASYNC_EVENT			0x0100 | 
 | 	/* user -> kernel */ | 
 | /* none */ | 
 |  | 
 |  | 
 | /* | 
 |  * Message Structures : | 
 |  */ | 
 |  | 
 | /* macro to round up message lengths to 8byte boundary */ | 
 | #define FC_NL_MSGALIGN(len)		(((len) + 7) & ~7) | 
 |  | 
 |  | 
 | /* | 
 |  * FC Transport Broadcast Event Message : | 
 |  *   FC_NL_ASYNC_EVENT | 
 |  * | 
 |  * Note: if Vendor Unique message, &event_data will be  start of | 
 |  * 	 vendor unique payload, and the length of the payload is | 
 |  *       per event_datalen | 
 |  * | 
 |  * Note: When specifying vendor_id, be sure to read the Vendor Type and ID | 
 |  *   formatting requirements specified in scsi_netlink.h | 
 |  */ | 
 | struct fc_nl_event { | 
 | 	struct scsi_nl_hdr snlh;		/* must be 1st element ! */ | 
 | 	uint64_t seconds; | 
 | 	uint64_t vendor_id; | 
 | 	uint16_t host_no; | 
 | 	uint16_t event_datalen; | 
 | 	uint32_t event_num; | 
 | 	uint32_t event_code; | 
 | 	uint32_t event_data; | 
 | } __attribute__((aligned(sizeof(uint64_t)))); | 
 |  | 
 |  | 
 | #endif /* SCSI_NETLINK_FC_H */ | 
 |  |