Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/uapi/scsi/scsi_netlink_fc.h
26292 views
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_flex 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
*/
45
struct 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
63