scsi_netlink_fc.h (1264B)
1/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2/* 3 * FC Transport Netlink Interface 4 * 5 * Copyright (C) 2006 James Smart, Emulex Corporation 6 */ 7#ifndef SCSI_NETLINK_FC_H 8#define SCSI_NETLINK_FC_H 9 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 space 15 */ 16 17/* 18 * FC Transport Message Types 19 */ 20 /* kernel -> user */ 21#define FC_NL_ASYNC_EVENT 0x0100 22 /* 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_EVENT 37 * 38 * Note: if Vendor Unique message, &event_data will be start of 39 * vendor unique payload, and the length of the payload is 40 * per event_datalen 41 * 42 * Note: When specifying vendor_id, be sure to read the Vendor Type and ID 43 * formatting requirements specified in scsi_netlink.h 44 */ 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 __u32 event_data; 54} __attribute__((aligned(sizeof(__u64)))); 55 56 57#endif /* SCSI_NETLINK_FC_H */ 58