linux/drivers/scsi/device_handler/scsi_dh_emc.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Target driver for EMC CLARiiON AX/CX-series hardware.
 * Based on code from Lars Marowsky-Bree <[email protected]>
 * and Ed Goggin <[email protected]>.
 *
 * Copyright (C) 2006 Red Hat, Inc.  All rights reserved.
 * Copyright (C) 2006 Mike Christie
 */
#include <linux/slab.h>
#include <linux/module.h>
#include <scsi/scsi.h>
#include <scsi/scsi_eh.h>
#include <scsi/scsi_dh.h>
#include <scsi/scsi_device.h>

#define CLARIION_NAME

#define CLARIION_TRESPASS_PAGE
#define CLARIION_BUFFER_SIZE
#define CLARIION_TIMEOUT
#define CLARIION_RETRIES
#define CLARIION_UNBOUND_LU
#define CLARIION_SP_A
#define CLARIION_SP_B

/* Flags */
#define CLARIION_SHORT_TRESPASS
#define CLARIION_HONOR_RESERVATIONS

/* LUN states */
#define CLARIION_LUN_UNINITIALIZED
#define CLARIION_LUN_UNBOUND
#define CLARIION_LUN_BOUND
#define CLARIION_LUN_OWNED

static unsigned char long_trespass[] =;

static unsigned char short_trespass[] =;

static const char * lun_state[] =;

struct clariion_dh_data {};

/*
 * Parse MODE_SELECT cmd reply.
 */
static int trespass_endio(struct scsi_device *sdev,
			  struct scsi_sense_hdr *sshdr)
{}

static int parse_sp_info_reply(struct scsi_device *sdev,
			       struct clariion_dh_data *csdev)
{}

#define emc_default_str

static char * parse_sp_model(struct scsi_device *sdev, unsigned char *buffer)
{}

static int send_trespass_cmd(struct scsi_device *sdev,
			    struct clariion_dh_data *csdev)
{}

static enum scsi_disposition clariion_check_sense(struct scsi_device *sdev,
					struct scsi_sense_hdr *sense_hdr)
{}

static blk_status_t clariion_prep_fn(struct scsi_device *sdev,
		struct request *req)
{}

static int clariion_std_inquiry(struct scsi_device *sdev,
				struct clariion_dh_data *csdev)
{}

static int clariion_send_inquiry(struct scsi_device *sdev,
				 struct clariion_dh_data *csdev)
{}

static int clariion_activate(struct scsi_device *sdev,
				activate_complete fn, void *data)
{}
/*
 * params - parameters in the following format
 *      "no_of_params\0param1\0param2\0param3\0...\0"
 *      for example, string for 2 parameters with value 10 and 21
 *      is specified as "2\010\021\0".
 */
static int clariion_set_params(struct scsi_device *sdev, const char *params)
{}

static int clariion_bus_attach(struct scsi_device *sdev)
{}

static void clariion_bus_detach(struct scsi_device *sdev)
{}

static struct scsi_device_handler clariion_dh =;

static int __init clariion_init(void)
{}

static void __exit clariion_exit(void)
{}

module_init();
module_exit(clariion_exit);

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();