linux/include/uapi/scsi/scsi_netlink_fc.h
<<
>>
Prefs
   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 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 */
  45struct 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        __u32 event_data;
  54} __attribute__((aligned(sizeof(__u64))));
  55
  56
  57#endif /* SCSI_NETLINK_FC_H */
  58
  59