Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/include/scsi/scsi_netlink_fc.h
10820 views
1
/*
2
* FC Transport Netlink Interface
3
*
4
* Copyright (C) 2006 James Smart, Emulex Corporation
5
*
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
*
20
*/
21
#ifndef SCSI_NETLINK_FC_H
22
#define SCSI_NETLINK_FC_H
23
24
#include <scsi/scsi_netlink.h>
25
26
/*
27
* This file intended to be included by both kernel and user space
28
*/
29
30
/*
31
* FC Transport Message Types
32
*/
33
/* kernel -> user */
34
#define FC_NL_ASYNC_EVENT 0x0100
35
/* user -> kernel */
36
/* none */
37
38
39
/*
40
* Message Structures :
41
*/
42
43
/* macro to round up message lengths to 8byte boundary */
44
#define FC_NL_MSGALIGN(len) (((len) + 7) & ~7)
45
46
47
/*
48
* FC Transport Broadcast Event Message :
49
* FC_NL_ASYNC_EVENT
50
*
51
* Note: if Vendor Unique message, &event_data will be start of
52
* vendor unique payload, and the length of the payload is
53
* per event_datalen
54
*
55
* Note: When specifying vendor_id, be sure to read the Vendor Type and ID
56
* formatting requirements specified in scsi_netlink.h
57
*/
58
struct fc_nl_event {
59
struct scsi_nl_hdr snlh; /* must be 1st element ! */
60
uint64_t seconds;
61
uint64_t vendor_id;
62
uint16_t host_no;
63
uint16_t event_datalen;
64
uint32_t event_num;
65
uint32_t event_code;
66
uint32_t event_data;
67
} __attribute__((aligned(sizeof(uint64_t))));
68
69
70
#endif /* SCSI_NETLINK_FC_H */
71
72
73