blob: 154a934a31016249b81e8432a8bbea38ed95701e [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef SCSI_NETLINK_H
8#define SCSI_NETLINK_H
9#include <linux/netlink.h>
10#include <linux/types.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070011#define SCSI_TRANSPORT_MSG NLMSG_MIN_TYPE + 1
Tao Baod7db5942015-01-28 10:07:51 -080012#define SCSI_NL_GRP_FC_EVENTS (1 << 2)
Ben Cheng655a7c02013-10-16 16:09:24 -070013#define SCSI_NL_GRP_CNT 3
14struct scsi_nl_hdr {
Christopher Ferris9584fa42019-12-09 15:36:13 -080015 __u8 version;
16 __u8 transport;
17 __u16 magic;
18 __u16 msgtype;
19 __u16 msglen;
20} __attribute__((aligned(sizeof(__u64))));
Ben Cheng655a7c02013-10-16 16:09:24 -070021#define SCSI_NL_VERSION 1
22#define SCSI_NL_MAGIC 0xA1B2
Ben Cheng655a7c02013-10-16 16:09:24 -070023#define SCSI_NL_TRANSPORT 0
24#define SCSI_NL_TRANSPORT_FC 1
25#define SCSI_NL_MAX_TRANSPORTS 2
26#define SCSI_NL_SHOST_VENDOR 0x0001
Ben Cheng655a7c02013-10-16 16:09:24 -070027#define SCSI_NL_MSGALIGN(len) (((len) + 7) & ~7)
28struct scsi_nl_host_vendor_msg {
Tao Baod7db5942015-01-28 10:07:51 -080029 struct scsi_nl_hdr snlh;
Christopher Ferris9584fa42019-12-09 15:36:13 -080030 __u64 vendor_id;
31 __u16 host_no;
32 __u16 vmsg_datalen;
33} __attribute__((aligned(sizeof(__u64))));
Ben Cheng655a7c02013-10-16 16:09:24 -070034#define SCSI_NL_VID_TYPE_SHIFT 56
Tao Baod7db5942015-01-28 10:07:51 -080035#define SCSI_NL_VID_TYPE_MASK ((__u64) 0xFF << SCSI_NL_VID_TYPE_SHIFT)
36#define SCSI_NL_VID_TYPE_PCI ((__u64) 0x01 << SCSI_NL_VID_TYPE_SHIFT)
37#define SCSI_NL_VID_ID_MASK (~SCSI_NL_VID_TYPE_MASK)
38#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; }
Ben Cheng655a7c02013-10-16 16:09:24 -070039#endif