62 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */2/*3 * FC Transport Netlink Interface4 *5 * Copyright (C) 2006 James Smart, Emulex Corporation6 */7#ifndef SCSI_NETLINK_FC_H8#define SCSI_NETLINK_FC_H9 10#include <linux/types.h>11#include <scsi/scsi_netlink.h>12 13/*14 * This file intended to be included by both kernel and user space15 */16 17/*18 * FC Transport Message Types19 */20 /* kernel -> user */21#define FC_NL_ASYNC_EVENT 0x010022 /* user -> kernel */23/* none */24 25 26/*27 * Message Structures :28 */29 30/* macro to round up message lengths to 8byte boundary */31#define FC_NL_MSGALIGN(len) (((len) + 7) & ~7)32 33 34/*35 * FC Transport Broadcast Event Message :36 * FC_NL_ASYNC_EVENT37 *38 * Note: if Vendor Unique message, event_data_flex will be start of39 * vendor unique payload, and the length of the payload is40 * per event_datalen41 *42 * Note: When specifying vendor_id, be sure to read the Vendor Type and ID43 * formatting requirements specified in scsi_netlink.h44 */45struct fc_nl_event {46 struct scsi_nl_hdr snlh; /* must be 1st element ! */47 __u64 seconds;48 __u64 vendor_id;49 __u16 host_no;50 __u16 event_datalen;51 __u32 event_num;52 __u32 event_code;53 union {54 __u32 event_data;55 __DECLARE_FLEX_ARRAY(__u8, event_data_flex);56 };57} __attribute__((aligned(sizeof(__u64))));58 59 60#endif /* SCSI_NETLINK_FC_H */61 62