summaryrefslogtreecommitdiff
path: root/usr/src/cmd/iscsi/iscsitgtd/target.h
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/iscsi/iscsitgtd/target.h')
-rw-r--r--usr/src/cmd/iscsi/iscsitgtd/target.h258
1 files changed, 0 insertions, 258 deletions
diff --git a/usr/src/cmd/iscsi/iscsitgtd/target.h b/usr/src/cmd/iscsi/iscsitgtd/target.h
deleted file mode 100644
index e07ec6601c..0000000000
--- a/usr/src/cmd/iscsi/iscsitgtd/target.h
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-
-/*
- * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#ifndef _TARGET_H
-#define _TARGET_H
-
-/*
- * Block comment which describes the contents of this file.
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DEFAULT_CONFIG "/etc/iscsi/"
-#define DEFAULT_CONFIG_LOCATION DEFAULT_CONFIG "target_config.xml"
-#define DEFAULT_TARGET_BASEDIR DEFAULT_CONFIG
-#define DEFAULT_TARGET_LOG "/tmp/target_log"
-
-/*
- * []------------------------------------------------------------------[]
- * | Common strings which are used throughout the target. |
- * []------------------------------------------------------------------[]
- */
-/*
- * Target type strings are used to distinguish between the emulated types.
- * These strings are stored in the params file so they must not be changed
- * without thinking about upgrade issues.
- */
-#define TGT_TYPE_DISK "disk"
-#define TGT_TYPE_TAPE "tape"
-#define TGT_TYPE_OSD "osd"
-#define TGT_TYPE_RAW "raw"
-#define TGT_TYPE_INVALID "invalid"
-
-/*
- * During the creation phase of a LU it starts out offline during block
- * initialization, once initialization is complete it will transition to
- * online. If during the initialization an error occurs it will be so marked.
- */
-#define TGT_STATUS_OFFLINE "offline"
-#define TGT_STATUS_ONLINE "online"
-#define TGT_STATUS_ERRORED "errored"
-
-/*
- * Base file names for the logical units (LU). The format used is params.%d and
- * lun.%d These are used both to build the LU name and when searching the
- * target directory for valid luns. Don't change these names unless the upgrade
- * path has been thought about.
- */
-#define PARAMBASE "params."
-#define LUNBASE "lun."
-#define OSDBASE "osd_root."
-#define PERSISTENCEBASE "pgr."
-#define ISCSI_TARGET_ALIAS "TargetAlias"
-#define ZVOL_PATH "/dev/zvol/rdsk/"
-
-/*
- * Base file name for persistent reservation data (PR). The format used is pr.
- * This name is used both to build the PR name and when searching the target
- * directory for persistent reservation data. Don't change these names unless
- * the upgrade path has been thought about.
- */
-#define PRBASE "persistent_reservations"
-
-/*
- * The IQN names that are created use libuuid + the local target name
- * as the idr_str portion of: iqn.1986-03.com.sun:<version>:<id_str>
- * In case this changes we also include a version number. Currently
- * version 1 is used by the Solaris iSCSI Initiator which has the MAC address,
- * timestamp, and hostname.
- */
-#define TARGET_NAME_VERS 2
-#define TARGET_NOFILE 10000
-
-/*
- * Minimum and maximum values for Target Portal Group Tag as specified
- * by RFC3720
- */
-#define TPGT_MIN 1
-#define TPGT_MAX 65535
-
-/*
- * Minimum and maximum values for MaxRecvDataSegmentLength
- */
-#define MAXRCVDATA_MIN 512
-#define MAXRCVDATA_MAX ((1 << 24) - 1)
-
-/*
- * Major/minor versioning for the configuration files.
- * If we find a configuration file that has a higher
- * major number than we support we exit. Major number
- * changes are for radical structure differences. Shouldn't
- * happen, but we've got a means of detecting such a situation
- * a bailing out before doing any damage. Minor number changes
- * mean additions to the current format have been added. For
- * right now, we use -1, which means ignore the minor number. In
- * the future it would be possible for the software to determine
- * that a file had certain additions, but maybe not all changes.
- */
-#define XML_VERS_MAIN_MAJ 1
-#define XML_VERS_MAIN_MIN -1
-#define XML_VERS_TARG_MAJ 1
-#define XML_VERS_TARG_MIN -1
-#define XML_VERS_LUN_MAJ 1
-#define XML_VERS_LUN_MIN -1
-#define XML_VERS_RESULT_MAJ 1
-#define XML_VERS_RESULT_MIN -1
-
-/*
- * Default values of the LUN parameters
- */
-#define DEFAULT_LUN_SIZE ((1024 * 1024 * 1024) / 512)
-#define DEFAULT_RPM 7200
-#define DEFAULT_HEADS 16
-#define DEFAULT_CYLINDERS 100
-#define DEFAULT_SPT 128
-#define DEFAULT_BYTES_PER 512
-#define DEFAULT_INTERLEAVE 1
-#define DEFAULT_PID "SOLARIS"
-#define DEFAULT_VID "SUN"
-#define DEFAULT_REVISION "1"
-
-/*
- * SPC-3 revision 21c, section 7.6.4.4.4
- * EUI-64 based 16-byte IDENTIFIER field format
- */
-typedef struct eui_16 {
- uchar_t e_vers,
- e_resrv1,
- e_mac[6],
- e_company_id[3],
- e_resv2,
- e_timestamp[4];
-} eui_16_t;
-
-/*
- * SPC-4 revision 11, section 7.6.3.6.5
- * NAA IEEE Registered Extended designator format
- */
-typedef struct naa_16 {
-#if defined(_BIT_FIELDS_LTOH)
- uchar_t n_company_id_hi : 4,
- n_naa : 4;
-#elif defined(_BIT_FIELDS_HTOL)
- uchar_t n_naa : 4,
- n_company_id_hi : 4;
-#else
-#error One of _BIT_FIELDS_LTOH or _BIT_FIELDS_HTOL must be defined
-#endif
- uchar_t n_company_id_b1,
- n_company_id_b2;
-#if defined(_BIT_FIELDS_LTOH)
- uchar_t n_resv1 : 4,
- n_company_id_lo : 4;
-#elif defined(_BIT_FIELDS_HTOL)
- uchar_t n_company_id_lo : 4,
- n_resv1 : 4;
-#else
-#error One of _BIT_FIELDS_LTOH or _BIT_FIELDS_HTOL must be defined
-#endif
- uchar_t n_timestamp[4];
- uchar_t n_resv2;
- uchar_t n_mac[6];
- uchar_t n_resv3;
-} naa_16_t;
-
-#define SUN_EUI_16_VERS 1
-#define SUN_NAA_16_TYPE 6
-
-#define SUN_INQUIRY_ID_TYPE(GUID) \
- (((naa_16_t *)(GUID))->n_naa == SUN_NAA_16_TYPE ? \
- SPC_INQUIRY_ID_TYPE_NAA : SPC_INQUIRY_ID_TYPE_EUI)
-
-#define SUN_EN 0x144f
-#define MIN_VAL 4
-
-#ifndef min
-#define min(a, b) ((a) > (b) ? (b) : (a))
-#endif
-#ifndef max
-#define max(a, b) ((a) > (b) ? (a) : (b))
-#endif
-
-typedef struct {
- char *name;
- char *(*func)(char *, char *);
- char *delete_name;
-} admin_table_t;
-
-#include <sys/socket.h>
-#include <umem.h>
-#include <iscsitgt_impl.h>
-#include "queue.h"
-
-void create_func(tgt_node_t *, target_queue_t *, target_queue_t *, ucred_t *);
-void modify_func(tgt_node_t *, target_queue_t *, target_queue_t *, ucred_t *);
-void remove_func(tgt_node_t *, target_queue_t *, target_queue_t *, ucred_t *);
-void list_func(tgt_node_t *, target_queue_t *, target_queue_t *, ucred_t *);
-void logout_targ(char *targ);
-char *update_basedir(char *, char *);
-char *valid_radius_srv(char *name, char *prop);
-char *valid_isns_srv(char *name, char *prop);
-Boolean_t if_find_mac(target_queue_t *mgmt);
-void if_target_address(char **text, int *text_length, struct sockaddr *sp);
-
-extern admin_table_t admin_prop_list[];
-extern char *target_basedir;
-extern char *target_log;
-extern char *config_file;
-extern char *pgr_basedir;
-extern tgt_node_t *targets_config;
-extern tgt_node_t *main_config;
-extern uchar_t mac_addr[];
-extern size_t mac_len;
-extern int main_vers_maj,
- main_vers_min,
- targets_vers_maj,
- targets_vers_min,
- iscsi_port;
-extern Boolean_t enforce_strict_guid,
- thin_provisioning,
- disable_tpgs,
- dbg_timestamps,
- pgr_persist;
-extern pthread_rwlock_t targ_config_mutex;
-extern umem_cache_t *iscsi_cmd_cache,
- *t10_cmd_cache,
- *queue_cache;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _TARGET_H */