linux/include/uapi/linux/ndctl.h

/*
 * Copyright (c) 2014-2016, Intel Corporation.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms and conditions of the GNU Lesser General Public License,
 * version 2.1, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for
 * more details.
 */
#ifndef __NDCTL_H__
#define __NDCTL_H__

#include <linux/types.h>

struct nd_cmd_dimm_flags {} __packed;

struct nd_cmd_get_config_size {} __packed;

struct nd_cmd_get_config_data_hdr {} __packed;

struct nd_cmd_set_config_hdr {} __packed;

struct nd_cmd_vendor_hdr {} __packed;

struct nd_cmd_vendor_tail {} __packed;

struct nd_cmd_ars_cap {} __packed;

struct nd_cmd_ars_start {} __packed;

struct nd_cmd_ars_status {} __packed;

struct nd_cmd_clear_error {} __packed;

enum {};

enum {};

static inline const char *nvdimm_bus_cmd_name(unsigned cmd)
{}

static inline const char *nvdimm_cmd_name(unsigned cmd)
{}

#define ND_IOCTL

#define ND_IOCTL_DIMM_FLAGS

#define ND_IOCTL_GET_CONFIG_SIZE

#define ND_IOCTL_GET_CONFIG_DATA

#define ND_IOCTL_SET_CONFIG_DATA

#define ND_IOCTL_VENDOR

#define ND_IOCTL_ARS_CAP

#define ND_IOCTL_ARS_START

#define ND_IOCTL_ARS_STATUS

#define ND_IOCTL_CLEAR_ERROR

#define ND_DEVICE_DIMM
#define ND_DEVICE_REGION_PMEM
#define ND_DEVICE_REGION_BLK
#define ND_DEVICE_NAMESPACE_IO
#define ND_DEVICE_NAMESPACE_PMEM
#define ND_DEVICE_DAX_PMEM

enum nd_driver_flags {};

enum ars_masks {};

/*
 * struct nd_cmd_pkg
 *
 * is a wrapper to a quasi pass thru interface for invoking firmware
 * associated with nvdimms.
 *
 * INPUT PARAMETERS
 *
 * nd_family corresponds to the firmware (e.g. DSM) interface.
 *
 * nd_command are the function index advertised by the firmware.
 *
 * nd_size_in is the size of the input parameters being passed to firmware
 *
 * OUTPUT PARAMETERS
 *
 * nd_fw_size is the size of the data firmware wants to return for
 * the call.  If nd_fw_size is greater than size of nd_size_out, only
 * the first nd_size_out bytes are returned.
 */

struct nd_cmd_pkg {};

/* These NVDIMM families represent pre-standardization command sets */
#define NVDIMM_FAMILY_INTEL
#define NVDIMM_FAMILY_HPE1
#define NVDIMM_FAMILY_HPE2
#define NVDIMM_FAMILY_MSFT
#define NVDIMM_FAMILY_HYPERV
#define NVDIMM_FAMILY_PAPR
#define NVDIMM_FAMILY_MAX

#define NVDIMM_BUS_FAMILY_NFIT
#define NVDIMM_BUS_FAMILY_INTEL
#define NVDIMM_BUS_FAMILY_MAX

#define ND_IOCTL_CALL

#endif /* __NDCTL_H__ */