xref: /aosp_15_r20/bionic/libc/kernel/uapi/scsi/scsi_netlink.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef SCSI_NETLINK_H
8*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NETLINK_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/netlink.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
11*8d67ca89SAndroid Build Coastguard Worker #define SCSI_TRANSPORT_MSG NLMSG_MIN_TYPE + 1
12*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NL_GRP_FC_EVENTS (1 << 2)
13*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NL_GRP_CNT 3
14*8d67ca89SAndroid Build Coastguard Worker struct scsi_nl_hdr {
15*8d67ca89SAndroid Build Coastguard Worker   __u8 version;
16*8d67ca89SAndroid Build Coastguard Worker   __u8 transport;
17*8d67ca89SAndroid Build Coastguard Worker   __u16 magic;
18*8d67ca89SAndroid Build Coastguard Worker   __u16 msgtype;
19*8d67ca89SAndroid Build Coastguard Worker   __u16 msglen;
20*8d67ca89SAndroid Build Coastguard Worker } __attribute__((aligned(sizeof(__u64))));
21*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NL_VERSION 1
22*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NL_MAGIC 0xA1B2
23*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NL_TRANSPORT 0
24*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NL_TRANSPORT_FC 1
25*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NL_MAX_TRANSPORTS 2
26*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NL_SHOST_VENDOR 0x0001
27*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NL_MSGALIGN(len) (((len) + 7) & ~7)
28*8d67ca89SAndroid Build Coastguard Worker struct scsi_nl_host_vendor_msg {
29*8d67ca89SAndroid Build Coastguard Worker   struct scsi_nl_hdr snlh;
30*8d67ca89SAndroid Build Coastguard Worker   __u64 vendor_id;
31*8d67ca89SAndroid Build Coastguard Worker   __u16 host_no;
32*8d67ca89SAndroid Build Coastguard Worker   __u16 vmsg_datalen;
33*8d67ca89SAndroid Build Coastguard Worker } __attribute__((aligned(sizeof(__u64))));
34*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NL_VID_TYPE_SHIFT 56
35*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NL_VID_TYPE_MASK ((__u64) 0xFF << SCSI_NL_VID_TYPE_SHIFT)
36*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NL_VID_TYPE_PCI ((__u64) 0x01 << SCSI_NL_VID_TYPE_SHIFT)
37*8d67ca89SAndroid Build Coastguard Worker #define SCSI_NL_VID_ID_MASK (~SCSI_NL_VID_TYPE_MASK)
38*8d67ca89SAndroid Build Coastguard Worker #define INIT_SCSI_NL_HDR(hdr,t,mtype,mlen) { (hdr)->version = SCSI_NL_VERSION; (hdr)->transport = t; (hdr)->magic = SCSI_NL_MAGIC; (hdr)->msgtype = mtype; (hdr)->msglen = mlen; }
39*8d67ca89SAndroid Build Coastguard Worker #endif
40