Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 <scsi/scsi_netlink.h>
11
12/*
13 * This file intended to be included by both kernel and user space
14 */
15
16/*
17 * FC Transport Message Types
18 */
19 /* kernel -> user */
20#define FC_NL_ASYNC_EVENT 0x0100
21 /* user -> kernel */
22/* none */
23
24
25/*
26 * Message Structures :
27 */
28
29/* macro to round up message lengths to 8byte boundary */
30#define FC_NL_MSGALIGN(len) (((len) + 7) & ~7)
31
32
33/*
34 * FC Transport Broadcast Event Message :
35 * FC_NL_ASYNC_EVENT
36 *
37 * Note: if Vendor Unique message, &event_data will be start of
38 * vendor unique payload, and the length of the payload is
39 * per event_datalen
40 *
41 * Note: When specifying vendor_id, be sure to read the Vendor Type and ID
42 * formatting requirements specified in scsi_netlink.h
43 */
44struct fc_nl_event {
45 struct scsi_nl_hdr snlh; /* must be 1st element ! */
46 uint64_t seconds;
47 uint64_t vendor_id;
48 uint16_t host_no;
49 uint16_t event_datalen;
50 uint32_t event_num;
51 uint32_t event_code;
52 uint32_t event_data;
53} __attribute__((aligned(sizeof(uint64_t))));
54
55
56#endif /* SCSI_NETLINK_FC_H */
57