12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
- /*
- * FC Transport Netlink Interface
- *
- * Copyright (C) 2006 James Smart, Emulex Corporation
- */
- #ifndef SCSI_NETLINK_FC_H
- #define SCSI_NETLINK_FC_H
- #include <linux/types.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_flex 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 ! */
- __u64 seconds;
- __u64 vendor_id;
- __u16 host_no;
- __u16 event_datalen;
- __u32 event_num;
- __u32 event_code;
- union {
- __u32 event_data;
- __DECLARE_FLEX_ARRAY(__u8, event_data_flex);
- };
- } __attribute__((aligned(sizeof(__u64))));
- #endif /* SCSI_NETLINK_FC_H */
|