summaryrefslogtreecommitdiff
path: root/usr/src/man
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/man')
-rw-r--r--usr/src/man/man1m/stmfadm.1m1136
-rw-r--r--usr/src/man/man3lib/libstmf.3lib201
-rw-r--r--usr/src/man/man3stmf/stmfAddToHostGroup.3stmf96
-rw-r--r--usr/src/man/man3stmf/stmfAddToTargetGroup.3stmf97
-rw-r--r--usr/src/man/man3stmf/stmfAddViewEntry.3stmf113
-rw-r--r--usr/src/man/man3stmf/stmfClearProviderData.3stmf86
-rw-r--r--usr/src/man/man3stmf/stmfCreateHostGroup.3stmf84
-rw-r--r--usr/src/man/man3stmf/stmfCreateLu.3stmf155
-rw-r--r--usr/src/man/man3stmf/stmfCreateLuResource.3stmf86
-rw-r--r--usr/src/man/man3stmf/stmfCreateTargetGroup.3stmf84
-rw-r--r--usr/src/man/man3stmf/stmfDeleteHostGroup.3stmf75
-rw-r--r--usr/src/man/man3stmf/stmfDeleteLu.3stmf79
-rw-r--r--usr/src/man/man3stmf/stmfDeleteTargetGroup.3stmf76
-rw-r--r--usr/src/man/man3stmf/stmfDevidFromIscsiName.3stmf91
-rw-r--r--usr/src/man/man3stmf/stmfDevidFromWwn.3stmf89
-rw-r--r--usr/src/man/man3stmf/stmfFreeLuResource.3stmf79
-rw-r--r--usr/src/man/man3stmf/stmfFreeMemory.3stmf58
-rw-r--r--usr/src/man/man3stmf/stmfGetHostGroupList.3stmf78
-rw-r--r--usr/src/man/man3stmf/stmfGetHostGroupMembers.3stmf88
-rw-r--r--usr/src/man/man3stmf/stmfGetLogicalUnitList.3stmf78
-rw-r--r--usr/src/man/man3stmf/stmfGetLogicalUnitProperties.3stmf91
-rw-r--r--usr/src/man/man3stmf/stmfGetLuResource.3stmf91
-rw-r--r--usr/src/man/man3stmf/stmfGetPersistMethod.3stmf89
-rw-r--r--usr/src/man/man3stmf/stmfGetProviderData.3stmf105
-rw-r--r--usr/src/man/man3stmf/stmfGetProviderDataProt.3stmf111
-rw-r--r--usr/src/man/man3stmf/stmfGetState.3stmf66
-rw-r--r--usr/src/man/man3stmf/stmfGetTargetGroupList.3stmf78
-rw-r--r--usr/src/man/man3stmf/stmfGetTargetGroupMembers.3stmf90
-rw-r--r--usr/src/man/man3stmf/stmfGetTargetList.3stmf78
-rw-r--r--usr/src/man/man3stmf/stmfGetTargetProperties.3stmf88
-rw-r--r--usr/src/man/man3stmf/stmfGetViewEntryList.3stmf90
-rw-r--r--usr/src/man/man3stmf/stmfModifyLu.3stmf196
-rw-r--r--usr/src/man/man3stmf/stmfOfflineLogicalUnit.3stmf86
-rw-r--r--usr/src/man/man3stmf/stmfOfflineTarget.3stmf84
-rw-r--r--usr/src/man/man3stmf/stmfOnlineLogicalUnit.3stmf68
-rw-r--r--usr/src/man/man3stmf/stmfOnlineTarget.3stmf68
-rw-r--r--usr/src/man/man3stmf/stmfRemoveFromHostGroup.3stmf100
-rw-r--r--usr/src/man/man3stmf/stmfRemoveFromTargetGroup.3stmf110
-rw-r--r--usr/src/man/man3stmf/stmfRemoveViewEntry.3stmf86
-rw-r--r--usr/src/man/man3stmf/stmfSetLuProp.3stmf321
-rw-r--r--usr/src/man/man3stmf/stmfSetPersistMethod.3stmf87
-rw-r--r--usr/src/man/man3stmf/stmfSetProviderData.3stmf102
-rw-r--r--usr/src/man/man3stmf/stmfSetProviderDataProt.3stmf114
43 files changed, 5328 insertions, 0 deletions
diff --git a/usr/src/man/man1m/stmfadm.1m b/usr/src/man/man1m/stmfadm.1m
new file mode 100644
index 0000000..3fe7cd3
--- /dev/null
+++ b/usr/src/man/man1m/stmfadm.1m
@@ -0,0 +1,1136 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
+.\" 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]
+.TH STMFADM 1M "Jul 30, 2009"
+.SH NAME
+stmfadm \- SCSI target mode framework command line interface
+.SH SYNOPSIS
+.LP
+.nf
+\fBstmfadm\fR \fBadd-hg-member\fR \fB-g\fR, \fB--group-name\fR \fIgroup-name\fR \fIgroup-member\fR...
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBadd-tg-member\fR \fB-g\fR, \fB--group-name\fR \fIgroup-name\fR \fIgroup-member\fR...
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBadd-view\fR [\fB-n\fR, \fB--lun\fR \fIlogical-unit-number\fR
+ \fB-t\fR, \fB--target-group\fR \fIgroup-name\fR \fB-h\fR, \fB--host-group\fR \fIgroup-name\fR] \fIlu-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBcreate-hg\fR \fIgroup-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBcreate-lu\fR [\fB-p\fR, \fB--lu-prop\fR \fIlogical-unit-property\fR=\fIval\fR
+ \fB-s\fR, \fB--size\fR \fIsize\fR] \fIlu-file\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBcreate-tg\fR \fIgroup-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBdelete-hg\fR \fIgroup-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBdelete-lu\fR \fIlu-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBdelete-tg\fR \fIgroup-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBimport-lu\fR \fIlu-file\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBlist-hg\fR [\fB-v\fR] [\fIhost-group-name\fR...]
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBlist-tg\fR [\fB-v\fR] [\fItarget-group-name\fR...]
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBlist-lu\fR [\fB-v\fR] [\fIlu-name\fR...]
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBlist-target\fR [\fB-v\fR] [\fItarget-name\fR...]
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBlist-view\fR \fB-l\fR, \fB--lu-name\fR \fIlu-name\fR [\fIentry-name\fR...]
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBlist-state\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBmodify-lu\fR [\fB-p\fR, \fB--lu-prop\fR \fIlogical-unit-property\fR=\fIval\fR
+ \fB-s\fR, \fB--size\fR \fIsize\fR, \fB-f\fR, \fB--file\fR] \fIlu-name\fR|\fIlu-file\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBonline-lu\fR \fIlu-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBoffline-lu\fR \fIlu-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBonline-lu\fR \fItarget-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBoffline-lu\fR \fItarget-name\fR
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBremove-hg-member\fR \fB-g\fR, \fB--group-name\fR \fIgroup-name\fR \fIgroup-member\fR...
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBremove-tg-member\fR \fB-g\fR, \fB--group-name\fR \fIgroup-name\fR \fIgroup-member\fR...
+.fi
+
+.LP
+.nf
+\fBstmfadm\fR \fBremove-view\fR \fB-l\fR, \fB--lu-name\fR \fIlu-name\fR \fIentry-name\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfadm\fR command configures logical units within the SCSI Target Mode
+Framework (STMF) framework. The framework and this man page use the following
+terminology:
+.sp
+.ne 2
+.na
+\fB\fBinitiator\fR\fR
+.ad
+.sp .6
+.RS 4n
+A device responsible for issuing SCSI I/O commands to a SCSI target and logical
+unit.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBtarget\fR\fR
+.ad
+.sp .6
+.RS 4n
+A device responsible for receiving SCSI I/O commands for a logical unit.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBlogical unit\fR\fR
+.ad
+.sp .6
+.RS 4n
+A device within a target responsible for executing SCSI I/O commands.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBlogical unit number\fR\fR
+.ad
+.sp .6
+.RS 4n
+The identifier of a logical unit within a target.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBinitiator group\fR\fR
+.ad
+.sp .6
+.RS 4n
+An initiator group is a set of one or more initiators that are combined for the
+purposes of being applied to a \fBview\fR (see below). An initiator cannot be a
+member of more than one initiator group.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBtarget group\fR\fR
+.ad
+.sp .6
+.RS 4n
+A target group is a set of one or more SCSI target ports that are treated the
+same when creating a \fBview\fR (see below). The set of logical units that a
+particular SCSI initiator can see is determined by the combined set of views.
+.sp
+Each logical unit has a set of view entries, and each view entry specifies a
+target group, host group, and a LUN. An initiator from that host group, when
+connecting through that target group, is able to identify and connect to that
+logical unit using the specified LUN. You can use views to restrict the set of
+logical units that a specific initiator can see, and assign the set of LUNs
+that will be used.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBview\fR\fR
+.ad
+.sp .6
+.RS 4n
+A view defines the association of an initiator group, a target group, and a
+logical unit number with a specified logical unit. Any view entry added to a
+logical unit must not be in conflict with existing view entries for that
+logical unit. A view entry is considered to be in conflict when an attempt is
+made to duplicate the association of any given initiator, target and logical
+unit number. As an example, logical unit \fBLU_0\fR has the following view
+entry associated with it:
+.sp
+.in +2
+.nf
+Logical Unit: LU_0
+ View Entry: 0
+ initiator group: HostA
+ target group: All targets
+ logical unit number: 32
+.fi
+.in -2
+.sp
+
+If you attempted the following:
+.sp
+.in +2
+.nf
+# \fBstmf add-view -n 31 -h HostA LU_0\fR
+.fi
+.in -2
+.sp
+
+\&...the operation would return an error with a message indicating that the
+view entry is in conflict with one or more existing view entries. This conflict
+arises because the existing view entry, \fB0\fR, already has mapped \fBLU_0\fR
+to logical unit number 32 for the initiator group \fBHostA\fR.
+.RE
+
+.SH SUB-COMMANDS
+.sp
+.LP
+The \fBstmfadm\fR command supports the subcommands listed below.
+.sp
+.ne 2
+.na
+\fB\fBadd-view\fR [\fB-n\fR, \fB--lun\fR \fIlogical-unit-number\fR \fB-t\fR,
+\fB--target-group\fR \fIgroup-name\fR \fB-h\fR, \fB--host-group\fR
+\fIgroup-name\fR] \fIlu-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Adds a logical unit view entry to a logical unit \fIlu-name\fR, where
+\fIlu-name\fR is the STMF name for the logical unit as displayed by the
+\fBlist-lu\fR subcommand. The \fBadd-view\fR subcommand provides the user with
+a mechanism to implement access control for a logical unit and also provides a
+means of assigning a logical unit number to a logical unit for a given set of
+initiators and targets. A logical unit will not be available to any initiators
+until at least one view is applied. Each view entry gets assigned an entry
+name, which can be used to reference the entry in the \fBremove-view\fR and
+\fBlist-view\fR subcommands.
+.sp
+\fBadd-view\fR supports the following options:
+.sp
+.ne 2
+.na
+\fB\fB-n\fR, \fB--lun\fR \fIlogical-unit-number\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIlogical-unit-number\fR is an integer in the range 0-16383 to be assigned to
+the logical unit for this view entry. If this option is not specified, a
+logical unit number will be assigned by the STMF framework.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB-t\fR, \fB--target-group\fR \fIgroup-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIgroup-name\fR is the name of a target group previously created using the
+STMF \fBcreate-tg\fR subcommand. If this option is not specified, the logical
+unit will be available through all targets.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB-h\fR, \fB-host-group\fR \fIgroup-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+\fIgroup-name\fR is the name of an host group previously created using the STMF
+\fBcreate-hg\fR subcommand. If this option is not specified, the logical unit
+will be available to all initiators that log in to the STMF framework.
+.RE
+
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBadd-hg-member\fR \fB-g\fR \fIgroup-name\fR \fIgroup member\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Add a host group member to a host group. \fIgroup-name\fR must be an existing
+group created using the \fBcreate-hg\fR subcommand. \fIgroup member\fR can be
+specified as \fIname_type\fR.\fIname_value\fR, where \fIname_type\fR can be one
+of the following:
+.sp
+.in +2
+.nf
+wwn
+iqn
+eui
+.fi
+.in -2
+.sp
+
+\&...and \fIname_value\fR is the value of the initiator name. As an example, to
+add a fibre channel initiator port world-wide name \fB200000e08b909221\fR to
+the host group \fBHostA\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm add-hg-member -g HostA wwn.200000e08b909221\fR
+.fi
+.in -2
+.sp
+
+To add an ISCSI initiator node member with the name
+\fBiqn.1986-03.com.sun:01.46f7e262\fR to \fBHostA\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm add-hg-member -g HostA iqn.1986-03.com.sun:01.46f7e262\fR
+.fi
+.in -2
+.sp
+
+Alternatively, members can be specified using their SCSI name string
+identifiers. To add the two initiators above using their SCSI name string
+identifiers, the commands would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm add-hg-member -g HostA eui.200000e08b909221\fR
+# \fBstmfadm add-hg-member -g HostA iqn.1986-03.com.sun:01.46f7e262\fR
+.fi
+.in -2
+.sp
+
+A host group member cannot be a member of more than one host group.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBadd-tg-member\fR \fB-g\fR \fIgroup-name\fR \fIgroup member\fR...\fR
+.ad
+.sp .6
+.RS 4n
+Add a target group member to a target group. \fIgroup-name\fR must be an
+existing group created using the \fBcreate-tg\fR subcommand. \fIgroup member\fR
+can be specified as \fIname_type\fR.\fIname_value\fR, where \fIname_type\fR can
+be one of the following:
+.sp
+.in +2
+.nf
+wwn
+iqn
+eui
+.fi
+.in -2
+.sp
+
+\&...and \fIname_value\fR is the value of the target name. As an example, to
+add a fibre channel target port world-wide name \fB501000e092376af7\fR to the
+target group \fBTG0\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm add-tg-member -g TG0 wwn.501000e092376af7\fR
+.fi
+.in -2
+.sp
+
+To add an ISCSI target member with the name
+\fBiqn.1986-03.com.sun:target.01.01110\fR to \fBTG0\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm add-tg-member -g TG0 iqn.1986-03.com.sun:target.01.01110\fR
+.fi
+.in -2
+.sp
+
+Alternatively, members can be specified using their SCSI name string
+identifiers. To add the two targets above using their SCSI name string
+identifiers, the commands would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm add-tg-member -g TG0 eui.501000e092376af7\fR
+# \fBstmfadm add-tg-member -g TG0 iqn.1986-03.com.sun:target.01.01110\fR
+.fi
+.in -2
+.sp
+
+A target group member cannot be a member of more than one target group.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBcreate-hg\fR \fIgroup-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create an initiator group with the name \fIgroup-name\fR. \fIgroup-name\fR is a
+string of Unicode characters with a maximum length of 255. The group name must
+be unique within the STMF system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBcreate-lu\fR [\fB-p\fR, \fB--lu-prop\fR
+\fIlogical-unit-property\fR=\fIval\fR \fB--s\fR, \fB--size\fR \fIsize\fR]
+\fIlu-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a logical unit that can be registered with STMF. For the \fB-p\fR
+option, \fIlogical-unit-property\fR can be one of the following properties:
+.sp
+.ne 2
+.na
+\fB\fBalias\fR\fR
+.ad
+.sp .6
+.RS 4n
+Up to 255 characters, representing a user-defined name for the device. The
+default is the name of the backing store.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBblk\fR\fR
+.ad
+.sp .6
+.RS 4n
+Specifies the block size for the device. The default is 512.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBguid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Thirty-two hexadecimal ASCII characters representing a valid NAA Registered
+Extended Identifier. The default is set by the STMF to a generated value.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBmeta\fR\fR
+.ad
+.sp .6
+.RS 4n
+Metadata file name. When specified, will be used to hold the SCSI metadata for
+the logical unit. There is no default.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBmgmt-url\fR\fR
+.ad
+.sp .6
+.RS 4n
+Up to 1024 characters representing a Management Network Address URL. More than
+one URL can be passed as a single parameter by using space-delimited URLs
+enclosed inside a single pair of quotation marks (\fB"\fR).
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBoui\fR\fR
+.ad
+.sp .6
+.RS 4n
+Organizational Unique Identifier. Six hexadecimal ASCII characters representing
+the IEEE OUI company ID assignment. This will be used to generate the device
+identifier (GUID). The default is \fB00144F\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBpid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Sixteen characters of product identification SCSI SPC-3. This value will be
+reflected in the Standard \fBINQUIRY\fR data returned for the device. The
+default is \fBCOMSTAR\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBserial\fR\fR
+.ad
+.sp .6
+.RS 4n
+Serial Number. Specifies the SCSI Vital Product Data Serial Number (page
+\fB80h\fR). It is a character value up to 252 bytes in length. There is no
+default value.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBvid\fR\fR
+.ad
+.sp .6
+.RS 4n
+Eight characters of vendor identification per SCSI SPC-3. This value will be
+reflected in the Standard \fBINQUIRY\fR data returned for the device. The
+default is \fBSUN\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBwcd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write-back cache disable. Specify \fBtrue\fR or \fBfalse\fRto determine
+write-back cache disable behavior. The default is the write-back cache setting
+of the backing store device specified by the \fIlu-file\fR argument.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBwp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write-protect bit. Specify \fBtrue\fR or \fBfalse\fR to determine whether the
+device reports as write-protected. The default is \fBfalse\fR.
+.RE
+
+For the \fB-s\fR option, \fIsize\fR is an integer followed by one of the
+following letters, to indicate a unit of size:
+.sp
+.ne 2
+.na
+\fB\fBk\fR\fR
+.ad
+.RS 5n
+kilobyte
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBm\fR\fR
+.ad
+.RS 5n
+megabyte
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBg\fR\fR
+.ad
+.RS 5n
+gigabyte
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBt\fR\fR
+.ad
+.RS 5n
+terabyte
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBp\fR\fR
+.ad
+.RS 5n
+petabyte
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBe\fR\fR
+.ad
+.RS 5n
+exabyte
+.RE
+
+\fIlu-file\fR is the file to be used as the backing store for the logical unit.
+If the \fB-s\fR option is not specified, the size of the specified
+\fIlu-file\fR will be used as the size of the logical unit. Logical units
+registered with the STMF require space for the metadata to be stored. When a
+\fBzvol\fR is specified as the backing store device, the default will be to use
+a special property of the \fBzvol\fR to contain the metadata. For all other
+devices, the default behavior will be to use the first 64k of the device. An
+alternative approach would be to use the \fBmeta\fR property in a
+\fBcreate-lu\fR command to specify an alternate file to contain the metadata.
+It is advisable to use a file that can provide sufficient storage of the
+logical unit metadata, preferably 64k.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBcreate-tg\fR \fIgroup-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Create a target group with the name \fIgroup-name\fR. \fIgroup-name\fR is a
+string of Unicode characters with a maximum length of 255. The group name must
+be unique within the STMF system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBdelete-hg\fR \fIgroup-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the host group that identified by \fIgroup-name\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBdelete-lu\fR \fIlu-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Deletes an existing logical unit that was created using \fBstmfadm
+create-lu\fR. This effectively unloads the logical unit from the STMF
+framework. Any existing data on the logical unit remains intact.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBdelete-tg\fR \fIgroup-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Delete the target group that identified by \fIgroup-name\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBimport-lu\fR \fIlu-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Imports and loads a logical unit into the STMF that was previously created
+using \fBstmfadm create-lu\fR and was then deleted from the STMF using
+\fBstmfadm delete-lu\fR. On success, the logical unit is again made available
+to the STMF. \fIlu-file\fR is the filename used in the \fBstmfadm create-lu\fR
+command. If this logical unit is using a separate metadata file, the filename
+in the \fBmeta\fR property value that was used in the \fBstmfadm create-lu\fR
+command must be used here.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBlist-hg\fR [\fB-v\fR,\fB--verbose\fR] [\fIhost-group-name\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+Lists information for the host group in the system referenced by
+\fIhost-group-name\fR. If \fIhost-group-name\fR is not specified, all host
+groups in the system will be listed. If the \fB--v\fR or \fB--verbose\fR option
+is specified, all members within a host group are displayed.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBlist-lu\fR [\fB-v\fR,\fB--verbose\fR] [\fIlu-name\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+Lists information for the logical unit in the system referenced by
+\fIlu-name\fR. If \fIlu-name\fR is not specified, all logical units in the
+system will be listed. If the \fB-v\fR or \fB--verbose\fR option is specified,
+additional information about the logical unit will be displayed.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBlist-target\fR [\fB-v\fR,\fB--verbose\fR] [\fItarget-name\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+Lists information for the target port in the system referenced by
+\fItarget-name\fR. If target name is not specified, all target ports in the
+system will be listed. If the \fB-v\fR or \fB--verbose\fR option is specified,
+additional information about the target along with SCSI session information for
+logged-in initiators is displayed.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBlist-tg\fR [\fB-v\fR,\fB--verbose\fR] [\fItarget-group-name\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+Lists information for the target group in the system referenced by
+\fItarget-group-name\fR. If \fItarget-group-name\fR is not specified, all
+target groups in the system will be listed. If the \fB--v\fR or \fB--verbose\fR
+option is specified, all members within a target group are displayed.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBlist-view\fR \fB--l\fR, \fB--lu-name\fR \fIlu-name\fR
+[\fIentry-name\fR...]\fR
+.ad
+.sp .6
+.RS 4n
+Lists the view entry for the logical unit referenced by \fIlu-name\fR. If
+\fIentry-name\fR is not specified, all view entries for the specified logical
+unit will be listed.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBmodify-lu\fR [\fB-p\fR, \fB--lu-prop\fR
+\fIlogical-unit-property\fR=\fIval\fR \fB--s\fR, \fB--size\fR \fIsize\fR,
+\fB-f\fR, \fB--file\fR] \fIlu-name\fR|\fIlu-file\fR\fR
+.ad
+.sp .6
+.RS 4n
+Modifies attributes of a logical unit created using the \fBstmfadm create-lu\fR
+command. For the \fB-p\fR option, \fIlogical-unit-property\fR can be one of the
+following properties:
+.sp
+.ne 2
+.na
+\fB\fBalias\fR\fR
+.ad
+.sp .6
+.RS 4n
+Up to 255 characters, representing a user-defined name for the device. The
+default is the name of the backing store.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBmgmt-url\fR\fR
+.ad
+.sp .6
+.RS 4n
+Up to 1024 characters representing a Management Network Address URL. More than
+one URL can be passed as a single parameter by using space-delimited URLs
+enclosed inside a single pair of quotation marks (\fB"\fR).
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBwcd\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write-back cache disable. Specify \fBtrue\fR or \fBfalse\fRto determine
+write-back cache disable behavior. The default is the write-back cache setting
+of the backing store device specified by the \fIlu-file\fR argument.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBwp\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write-protect bit. Specify \fBtrue\fR or \fBfalse\fR to determine whether the
+device reports as write-protected. The default is \fBfalse\fR.
+.RE
+
+For the \fB-s\fR option, \fIsize\fR is an integer followed by one of the
+following letters, to indicate a unit of size:
+.sp
+.ne 2
+.na
+\fB\fBk\fR\fR
+.ad
+.RS 5n
+kilobyte
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBm\fR\fR
+.ad
+.RS 5n
+megabyte
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBg\fR\fR
+.ad
+.RS 5n
+gigabyte
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBt\fR\fR
+.ad
+.RS 5n
+terabyte
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBp\fR\fR
+.ad
+.RS 5n
+petabyte
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBe\fR\fR
+.ad
+.RS 5n
+exabyte
+.RE
+
+\fIlu-name\fR is the \fBguid\fR of the logical unit to be modified. If the
+\fB-f\fR option is specified, the operand is interpreted as a file name. This
+provides the ability to modify a logical unit that is not currently imported
+into the STMF.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBonline-lu\fR \fIlu-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Online a logical unit currently registered with the STMF.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBonline-target\fR \fItarget-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Online the specified target.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBoffline-lu\fR \fIlu-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Offline a logical unit currently registered with the STMF.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBoffline-target\fR \fItarget-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Online the specified target.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBlist-state\fR\fR
+.ad
+.sp .6
+.RS 4n
+Lists the operational and configuration state of the STMF.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBremove-hg-member\fR \fB-g\fR \fIgroup-name\fR \fIgroup member\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes a host group member from a host group. \fIgroup-name\fR must be an
+existing group created using the \fBcreate-hg\fR subcommand. \fIgroup member\fR
+can be specified as \fIname_type\fR.\fIname_value\fR, where \fIname_type\fR can
+be one of the following:
+.sp
+.in +2
+.nf
+wwn
+iqn
+eui
+.fi
+.in -2
+.sp
+
+\&...and \fIname_value\fR is the value of the initiator name. As an example, to
+remove the fibre channel initiator port world-wide name \fB200000e08b909221\fR
+from the host group \fBHostA\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm remove-hg-member -g HostA wwn.200000e08b909221\fR
+.fi
+.in -2
+.sp
+
+To remove the ISCSI initiator node member with the name
+\fBiqn.1986-03.com.sun:01.46f7e262\fR from \fBHostA\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm remove-hg-member -g HostA iqn.1986-03.com.sun:01.46f7e262\fR
+.fi
+.in -2
+.sp
+
+Alternatively, members can be specified using their SCSI name string
+identifiers. To remove the two initiators above using their SCSI name string
+identifiers, the commands would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm remove-hg-member -g HostA eui.200000e08b909221\fR
+# \fBstmfadm remove-hg-member -g HostA iqn.1986-03.com.sun:01.46f7e262\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBremove-tg-member\fR \fB-g\fR \fIgroup-name\fR \fIgroup member\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes a target group member from a target group. \fIgroup-name\fR must be an
+existing group created using the \fBcreate-tg\fR subcommand. \fIgroup member\fR
+can be specified as \fIname_type\fR.\fIname_value\fR, where \fIname_type\fR can
+be one of the following:
+.sp
+.in +2
+.nf
+wwn
+iqn
+eui
+.fi
+.in -2
+.sp
+
+\&...and \fIname_value\fR is the value of the target name. As an example, to
+remove the fibre channel target port world-wide name \fB501000e092376af7\fR
+from the target group \fBTG0\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm remove-tg-member -g TG0 wwn.501000e092376af7\fR
+.fi
+.in -2
+.sp
+
+To remove the ISCSI target member with the name
+\fBiqn.1986-03.com.sun:target.01.01110\fR from \fBTG0\fR, the command would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm remove-tg-member -g TG0 iqn.1986-03.com.sun:target.01.01110\fR
+.fi
+.in -2
+.sp
+
+Alternatively, members can be specified using their SCSI name string
+identifiers. To remove the two targets above using their SCSI name string
+identifiers, the commands would be:
+.sp
+.in +2
+.nf
+# \fBstmfadm remove-tg-member -g TG0 eui.501000e092376af7\fR
+# \fBstmfadm remove-tg-member -g TG0 iqn.1986-03.com.sun:target.01.01110\fR
+.fi
+.in -2
+.sp
+
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBremove-view\fR \fB--l\fR, \fB--lu-name\fR \fIlu-name\fR
+\fIentry-name\fR\fR
+.ad
+.sp .6
+.RS 4n
+Removes one or more logical unit view entries from a logical unit.
+.RE
+
+.SH EXAMPLES
+.LP
+\fBExample 1 \fRCreating a Host group with Two Initiator Ports
+.sp
+.LP
+The following commands use the \fBcreate-hg\fR and \fBadd-hg-member\fR
+subcommands to create a host group and add two initiator ports to that host
+group.
+
+.sp
+.in +2
+.nf
+# \fBstmfadm create-hg host-group-a\fR
+# \fBstmfadm add-hg-member -g host-group-a wwn.210105b0000d92d0\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 2 \fRAdding a View Entry to a Logical Unit
+.sp
+.LP
+The following command uses the \fBadd-view\fR subcommand to allow access from
+\fBhost-group-a\fR to a logical unit.
+
+.sp
+.in +2
+.nf
+# \fBstmfadm add-view -h host-group-a 6000AE40C5000000000046FC4FEA001C\fR
+.fi
+.in -2
+.sp
+
+.LP
+\fBExample 3 \fRListing a View Entry
+.sp
+.LP
+The following command uses the \fBlist-view\fR subcommand to list all view
+entries for the specified logical unit.
+
+.sp
+.in +2
+.nf
+# \fBstmfadm list-view -l 6000AE40C5000000000046FC4FEA001C\fR
+View Entry: 0
+ Host group : host-group-a
+ Target group : All
+ LUN : 0
+.fi
+.in -2
+.sp
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBsbdadm\fR(1M), \fBattributes\fR(5)
diff --git a/usr/src/man/man3lib/libstmf.3lib b/usr/src/man/man3lib/libstmf.3lib
new file mode 100644
index 0000000..049446b
--- /dev/null
+++ b/usr/src/man/man3lib/libstmf.3lib
@@ -0,0 +1,201 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems, Inc. All rights reserved.
+.\" 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]
+.TH LIBSTMF 3LIB "May 8, 2009"
+.SH NAME
+libstmf \- SCSI Target Mode Framework library
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Functions in this library provide configuration management of the SCSI Target
+Mode Framework (STMF), allowing clients to manage the provisioning of logical
+units and targets to the initiator clients of the framework.
+.SS "Definitions"
+.sp
+.ne 2
+.na
+\fBHost Group\fR
+.ad
+.sp .6
+.RS 4n
+A Host Group is a set of one or more initiator ports that are combined together
+for the purposes of applying access controls to a Logical Unit object and
+assigning a logical unit number to the Logical Unit. The assigned logical unit
+number will be reported to the members of that Host Group via the SCSI REPORT
+LUN command. Host Groups can contain initiator ports that are not visible to
+the SCSI Target Mode Framework. Initiator ports might not be a member in more
+than one group. A Host Group is associated with a given Logical Unit via a view
+entry. Host Group names are unique within the framework.
+.RE
+
+.sp
+.ne 2
+.na
+\fBLogical Unit\fR
+.ad
+.sp .6
+.RS 4n
+A Logical Unit object is provided to the SCSI Target Mode Framework for the
+purposes of executing SCSI commands. Library clients can manage a Logical Unit
+object's accessibility to one or more SCSI initiator clients. \fBlibstmf\fR
+library clients cannot add or remove Logical Unit objects from the system.
+Every Logical Unit object within the SCSI Target Mode Framework is owned by a
+logical unit provider whose identity is available via the properties on the
+Logical Unit object.
+.RE
+
+.sp
+.ne 2
+.na
+\fBLogical Unit Number\fR
+.ad
+.sp .6
+.RS 4n
+A Logical Unit Number is the SCSI identifier of a logical unit within a target.
+.RE
+
+.sp
+.ne 2
+.na
+\fBTarget Port\fR
+.ad
+.sp .6
+.RS 4n
+A Target port object is provided to the SCSI Target Mode Framework for the
+purposes of receiving SCSI commands on a particular logical unit. Library
+clients can manage a Logical Unit object's availability to one or more Target
+port objects. Library clients cannot add or remove Target objects from the
+system. Every Target port object within the SCSI Target Mode Framework is owned
+by a Local Port provider whose identity is available via the properties on the
+Target port object.
+.RE
+
+.sp
+.ne 2
+.na
+\fBTarget Port Group\fR
+.ad
+.sp .6
+.RS 4n
+A Target Port Group is a set of one or more Target ports that are combined
+together for the purposes of applying availability to a Logical Unit object. A
+Target Port Group may be applied to any given Logical Unit via a view entry.
+Target ports may not be a member in more than one Target Port Group. Target
+Port Group names are unique within the framework.
+.RE
+
+.sp
+.ne 2
+.na
+\fBView\fR
+.ad
+.sp .6
+.RS 4n
+A View is a list of logical units exposed to a list of initiator ports through
+a list of targets.
+.RE
+
+.sp
+.ne 2
+.na
+\fBView Entry\fR
+.ad
+.sp .6
+.RS 4n
+A View Entry object defines the association of an host group, a target group
+and a logical unit number with a specified logical unit. When a view entry is
+created for a logical unit, a caller can assign all targets and/or all
+initiator ports to the logical unit thus making the logical unit accessible to
+all target ports and/or all initiator ports. A logical unit may have one or
+more view entries associated with it. Any two view entries are considered to be
+in conflict when an attempt is made to duplicate the association of any given
+initiator port, target port and logical unit. Attempting this will result in an
+error returned from the call to \fBstmfAddViewEntry\fR(3STMF).
+.RE
+
+.SH INTERFACES
+.sp
+.LP
+The shared object \fBlibstmf.so.1\fR provides the public interfaces defined
+below. See \fBIntro\fR(3) for additional information on shared object
+interfaces.
+.sp
+
+.sp
+.TS
+l l
+l l .
+\fBstmfAddToHostGroup\fR \fBstmfAddToTargetGroup\fR
+\fBstmfAddViewEntry\fR \fBstmfClearProviderData\fR
+\fBstmfCreateHostGroup\fR \fBstmfCreateLu\fR
+\fBstmfCreateLuResource\fR \fBstmfCreateTargetGroup\fR
+\fBstmfDeleteHostGroup\fR \fBstmfDeleteLu\fR
+\fBstmfDeleteTargetGroup\fR \fBstmfDevidFromIscsiName\fR
+\fBstmfDevidFromWwn\fR \fBstmfFreeLuResource\fR
+\fBstmfFreeMemory\fR \fBstmfGetHostGroupList\fR
+\fBstmfGetHostGroupMembers\fR \fBstmfGetLogicalUnitList\fR
+\fBstmfGetLogicalUnitProperties\fR \fBstmfGetLuProp\fR
+\fBstmfGetLuResource\fR \fBstmfGetPersistMethod\fR
+\fBstmfGetProviderData\fR \fBstmfGetProviderDataProt\fR
+\fBstmfGetState\fR \fBstmfGetTargetGroupList\fR
+\fBstmfGetTargetGroupMembers\fR \fBstmfGetTargetList\fR
+\fBstmfGetTargetProperties\fR \fBstmfGetViewEntryList\fR
+\fBstmfModifyLu\fR \fBstmfModifyLuByFname\fR
+\fBstmfOfflineLogicalUnit\fR \fBstmfOfflineTarget\fR
+\fBstmfOnlineLogicalUnit\fR \fBstmfOnlineTarget\fR
+\fBstmfRemoveFromHostGroup\fR \fBstmfRemoveFromTargetGroup\fR
+\fBstmfRemoveViewEntry\fR \fBstmfSetLuProp\fR
+\fBstmfSetPersistMethod\fR \fBstmfSetProviderData\fR
+\fBstmfSetProviderDataProt\fR
+.TE
+
+.SH FILES
+.sp
+.ne 2
+.na
+\fB\fB/lib/libstmf.so.1\fR\fR
+.ad
+.RS 24n
+shared object
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fB/lib/64/libstmf.so.1\fR\fR
+.ad
+.RS 24n
+64-bit shared object
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBIntro\fR(3), \fBstmfAddViewEntry\fR(3STMF), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfAddToHostGroup.3stmf b/usr/src/man/man3stmf/stmfAddToHostGroup.3stmf
new file mode 100644
index 0000000..fbaabb2
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfAddToHostGroup.3stmf
@@ -0,0 +1,96 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFADDTOHOSTGROUP 3STMF "Jun 9, 2008"
+.SH NAME
+stmfAddToHostGroup \- add an initiator port to an existing host group
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfAddToHostGroup\fR(\fBstmfGroupName *\fR\fIhostGroupName\fR,
+ \fBstmfDevid\fR \fIinitiatorName\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIhostGroupName\fR\fR
+.ad
+.RS 17n
+The name of the host group to which the specified initiatorName is added.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIinitiatorName\fR\fR
+.ad
+.RS 17n
+The device identifier of the initiator port to add to the specified host group.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfAddToHostGroup()\fR function adds an initiator port to an existing
+host group.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_EXISTS\fR\fR
+.ad
+.RS 30n
+The specified \fIinitiatorName\fR already exists in this \fIhostGroupName\fR or
+in another host group in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_GROUP_NOT_FOUND\fR\fR
+.ad
+.RS 30n
+The specified \fIhostGroupName\fR was not found in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 30n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfAddToTargetGroup.3stmf b/usr/src/man/man3stmf/stmfAddToTargetGroup.3stmf
new file mode 100644
index 0000000..ab01e17
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfAddToTargetGroup.3stmf
@@ -0,0 +1,97 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFADDTOTARGETGROUP 3STMF "Jun 9, 2008"
+.SH NAME
+stmfAddToTargetGroup \- add a target to an existing target group
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfAddToTargetGroup\fR(\fBstmfGroupName *\fR\fItargetGroupName\fR,
+ \fBstmfDevid\fR \fItargetName\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fItargetGroupName\fR\fR
+.ad
+.RS 19n
+The name of the target port group to which the specified \fItargetName\fR is
+added.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fItargetName\fR\fR
+.ad
+.RS 19n
+The device identifier of the target port to add to the specified target group.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfAddToTargetGroup()\fR function adds a target to an existing target
+group.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_EXISTS\fR\fR
+.ad
+.RS 30n
+The specified \fItargetName\fR already exists in this \fItagettGroupName\fR or
+in another target group in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_GROUP_NOT_FOUND\fR\fR
+.ad
+.RS 30n
+The specified \fItargetGroupName\fR was not found in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 30n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfAddViewEntry.3stmf b/usr/src/man/man3stmf/stmfAddViewEntry.3stmf
new file mode 100644
index 0000000..cf79775
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfAddViewEntry.3stmf
@@ -0,0 +1,113 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFADDVIEWENTRY 3STMF "Jun 9, 2008"
+.SH NAME
+stmfAddViewEntry \- add a view entry for a given logical unit
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfAddViewEntry\fR(\fBstmfGuid *\fR\fIlogicalUnit\fR,
+ \fBstmfViewEntry *\fR\fIviewEntry\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIlogicalUnit\fR\fR
+.ad
+.RS 15n
+The identifier of the logical unit to which this view entry is being added.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIviewEntry\fR\fR
+.ad
+.RS 15n
+The view entry to add to the specified logical unit identifier.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfAddViewEntry()\fR function adds a view entry for a given logical
+unit.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_LUN_IN_USE\fR\fR
+.ad
+.RS 26n
+The specified logical unit number is already in use for this logical unit.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOT_FOUND\fR\fR
+.ad
+.RS 26n
+The ID specified for \fIlogicalUnit\fR was not found in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_VE_CONFLICT\fR\fR
+.ad
+.RS 26n
+Adding this view entry is in conflict with one or more existing view entries.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 26n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+If \fIluNbrValid\fR in the \fBstmfViewEntry\fR structure is set to
+\fBB_FALSE\fR, the framework will assign a logical unit number for this view
+entry. \fIveIndexValid\fR must be set to \fBB_FALSE\fR when adding a view
+entry. On successful return, \fIveIndexValid\fR will be set to \fBB_TRUE\fR and
+\fIveIndex\fR will contain the view entry index assigned to this view entry by
+the framework.
diff --git a/usr/src/man/man3stmf/stmfClearProviderData.3stmf b/usr/src/man/man3stmf/stmfClearProviderData.3stmf
new file mode 100644
index 0000000..8de3bd5
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfClearProviderData.3stmf
@@ -0,0 +1,86 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFCLEARPROVIDERDATA 3STMF "Jun 9, 2008"
+.SH NAME
+stmfClearProviderData \- delete all data for the specified provider
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfClearProviderData\fR(\fBchar *\fR\fIproviderName\fR, \fBint\fR \fIproviderType\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIproviderName\fR\fR
+.ad
+.RS 16n
+The name of the provider whose data is being deleted.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIproviderType\fR\fR
+.ad
+.RS 16n
+The value must be either \fBSTMF_LU_PROVIDER_TYPE\fR or
+\fBSTMF_PORT_PROVIDER_TYPE\fR.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfClearProviderData()\fR function deletes all data for the specified
+provider.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOT_FOUND\fR\fR
+.ad
+.RS 24n
+The value specified for \fIproviderName\fR was not found in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 24n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfCreateHostGroup.3stmf b/usr/src/man/man3stmf/stmfCreateHostGroup.3stmf
new file mode 100644
index 0000000..58aa881
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfCreateHostGroup.3stmf
@@ -0,0 +1,84 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFCREATEHOSTGROUP 3STMF "Jun 9, 2008"
+.SH NAME
+stmfCreateHostGroup \- create a new host group
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfCreateHostGroup\fR(\fBstmfGroupName *\fR\fIhostGroupName\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIhostGroupName\fR\fR
+.ad
+.RS 17n
+The name of the host group to be created.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfCreateHostGroup()\fR function creates a new host group.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_EXISTS\fR\fR
+.ad
+.RS 25n
+The value specified for \fIhostGroupName\fR already exists in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_INVALID_ARGUMENT\fR\fR
+.ad
+.RS 25n
+The value specified for \fIhostGroupName\fR was not valid.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 25n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfCreateLu.3stmf b/usr/src/man/man3stmf/stmfCreateLu.3stmf
new file mode 100644
index 0000000..ecaf33c
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfCreateLu.3stmf
@@ -0,0 +1,155 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFCREATELU 3STMF "May 8, 2009"
+.SH NAME
+stmfCreateLu \- create a logical unit
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... -lstmf [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfCreateLu\fR(\fBluResource\fR \fIhdl\fR, \fBstmfGuid *\fR\fIluGuid\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIhdl\fR\fR
+.ad
+.RS 10n
+The logical unit resource returned from a previous call to
+\fBstmfCreateLuResource\fR(3STMF).
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIluGuid\fR\fR
+.ad
+.RS 10n
+If non-null, it must contain a pointer to an \fBstmfGuid\fR structure allocated
+by the caller. On successful return from this API, it will contain the guid of
+the newly created logical unit. If \fIluGuid\fR is \fINULL\fR, this argument is
+ignored.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The stmfCreateLu function creates a logical unit in stmf using the properties
+of \fIhdl\fR. See \fBstmfSetLuProp\fR(3STMF) for a complete description of
+properties and their possible values.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The API call was successful.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_FILE_IN_USE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The filename specified by the \fBSTMF_LU_PROP_DATA_FILENAME\fR or
+\fBSTMF_LU_PROP_META_FILENAME\fR was in use.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_GUID_IN_USE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The guid specified by the \fBSTMF_LU_PROP_GUID\fR property is already being
+used.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_INVALID_BLKSIZE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The blocksize specified by \fBSTMF_LU_PROP_BLOCK_SIZE\fR is invalid.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_WRITE_CACHE_SET\fR\fR
+.ad
+.sp .6
+.RS 4n
+The requested write cache setting could not be provided.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_SIZE_OUT_OF_RANGE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified logical unit size is not supported.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_META_FILE_NAME\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified meta file could not be accessed.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_DATA_FILE_NAME\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified data file could not be accessed.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBstmfCreateLuResource\fR(3STMF),
+\fBstmfSetLuProp\fR(3STMF), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfCreateLuResource.3stmf b/usr/src/man/man3stmf/stmfCreateLuResource.3stmf
new file mode 100644
index 0000000..b396a72
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfCreateLuResource.3stmf
@@ -0,0 +1,86 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFCREATELURESOURCE 3STMF "May 8, 2009"
+.SH NAME
+stmfCreateLuResource \- create new logical unit resource
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... -lstmf [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfCreateLuResource\fR(\fBuint16_t\fR \fIdType\fR, \fBluResource *\fR\fIhdl\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIdType\fR\fR
+.ad
+.RS 9n
+The device type of the logical unit resource. Only \fBSTMF_DISK\fR is currently
+supported.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIhdl\fR\fR
+.ad
+.RS 9n
+The logical unit resource to be created.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfCreateLuResource()\fR function creates a resource for setting
+properties of a logical unit for purposes of creating a logical unit in STMF.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_INVALID_ARG\fR\fR
+.ad
+.RS 26n
+Either type is unrecognized or \fIhdl\fR was \fINULL\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 26n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfCreateTargetGroup.3stmf b/usr/src/man/man3stmf/stmfCreateTargetGroup.3stmf
new file mode 100644
index 0000000..b946491
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfCreateTargetGroup.3stmf
@@ -0,0 +1,84 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFCREATETARGETGROUP 3STMF "Jun 9, 2008"
+.SH NAME
+stmfCreateTargetGroup \- create a new target port group
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfCreateTargetGroup\fR(\fBstmfGroupName *\fR\fItargetGroupName\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fItargetGroupName\fR\fR
+.ad
+.RS 19n
+The name of the target port group to be created.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfCreateTargetGroup()\fR function creates a new target port group.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_EXISTS\fR\fR
+.ad
+.RS 25n
+The value specified for \fItargetGroupName\fR already exists in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_INVALID_ARGUMENT\fR\fR
+.ad
+.RS 25n
+The value specified for \fItargetGroupName\fR was not valid.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 25n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfDeleteHostGroup.3stmf b/usr/src/man/man3stmf/stmfDeleteHostGroup.3stmf
new file mode 100644
index 0000000..cbc8d9a
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfDeleteHostGroup.3stmf
@@ -0,0 +1,75 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFDELETEHOSTGROUP 3STMF "Jun 9, 2008"
+.SH NAME
+stmfDeleteHostGroup \- delete an existing host group
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfDeleteHostGroup\fR(\fBstmfGroupName *\fR\fIhostGroupName\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIhostGroupName\fR\fR
+.ad
+.RS 17n
+The name of the host group being deleted.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfDeleteHostGroup()\fR function deletes an existing host group.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOT_FOUND\fR\fR
+.ad
+.RS 24n
+The specified \fIhostGroupName\fR was not found in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 24n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfDeleteLu.3stmf b/usr/src/man/man3stmf/stmfDeleteLu.3stmf
new file mode 100644
index 0000000..a54633f
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfDeleteLu.3stmf
@@ -0,0 +1,79 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFDELETELU 3STMF "May 8, 2009"
+.SH NAME
+stmfDeleteLu \- delete a logical unit
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... -lstmf [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfDeleteLu\fR(\fBstmfGuid *\fR\fIluGuid\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIluGuid\fR\fR
+.ad
+.RS 10n
+a pointer to an \fBstmfGuid\fR structure containing the guid of the logical
+unit to delete
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfDeleteLu()\fR function deletes the logical unit from the system. Any
+view entries that may exist for this logical unit will be retained in the
+system and must be removed using \fBstmfRemoveViewEntry\fR(3STMF) if so
+desired.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 24n
+The API call was successful.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOT_FOUND\fR\fR
+.ad
+.RS 24n
+The guid does not exist.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBstmfRemoveViewEntry\fR(3STMF), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfDeleteTargetGroup.3stmf b/usr/src/man/man3stmf/stmfDeleteTargetGroup.3stmf
new file mode 100644
index 0000000..583fa69
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfDeleteTargetGroup.3stmf
@@ -0,0 +1,76 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFDELETETARGETGROUP 3STMF "Jun 9, 2008"
+.SH NAME
+stmfDeleteTargetGroup \- delete an existing target port group
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfDeleteTargetGroup\fR(\fBstmfGroupName *\fR\fItargetGroupName\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fItargetGroupName\fR\fR
+.ad
+.RS 19n
+The name of the target port group being deleted.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfDeleteTargetGroup()\fR function deletes an existing target port
+group.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOT_FOUND\fR\fR
+.ad
+.RS 24n
+The specified \fItargetGroupName\fR was not found in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 24n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfDevidFromIscsiName.3stmf b/usr/src/man/man3stmf/stmfDevidFromIscsiName.3stmf
new file mode 100644
index 0000000..d848b22
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfDevidFromIscsiName.3stmf
@@ -0,0 +1,91 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFDEVIDFROMISCSINAME 3STMF "Jun 9, 2008"
+.SH NAME
+stmfDevidFromIscsiName \- convert an iSCSI name to a stmfDevid structure
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfDevidFromIscsiName\fR(\fBchar *\fR\fIiscsiName\fR, \fBstmfDevid *\fR\fIdevid\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIiscsiName\fR\fR
+.ad
+.RS 13n
+A character string of UTF-8 encoded Unicode characters representing the iSCSI
+name terminated with the Unicode nul character.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIdevid\fR\fR
+.ad
+.RS 13n
+A pointer to a \fBstmfDevid\fR structure allocated by the caller. On successful
+return, this will contain the converted device identifier. On error, the value
+of this parameter is undefined.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfDevidFromIscsiName()\fR function converts an iSCSI name to a
+\fBstmfDevid\fR structure. It returns the \fIdevid\fR as a SCSI name string
+identifier.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_INVALID_ARGUMENT\fR\fR
+.ad
+.sp .6
+.RS 4n
+The value of \fIiscsiName\fR was not valid iSCSI name.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfDevidFromWwn.3stmf b/usr/src/man/man3stmf/stmfDevidFromWwn.3stmf
new file mode 100644
index 0000000..2bbc243
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfDevidFromWwn.3stmf
@@ -0,0 +1,89 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFDEVIDFROMWWN 3STMF "Jun 9, 2008"
+.SH NAME
+stmfDevidFromWwn \- convert a WWN to a stmfDevid structure
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfDevidFromWWN\fR(\fBuchar_t\fR \fIwwn\fR[8], \fBstmfDevid *\fR\fIdevid\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIwwn\fR\fR
+.ad
+.RS 9n
+The 8-byte WWN identifier.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIdevid\fR\fR
+.ad
+.RS 9n
+A pointer to a \fBstmfDevid\fR structure allocated by the caller. On successful
+return, this will contain the converted device identifier. On error, the value
+of this parameter is undefined.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The stmfDevidFromWwn function convert a WWN to a stmfDevid structure. It
+returns the \fIdevid\fR as a SCSI name string.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_INVALID_ARGUMENT\fR\fR
+.ad
+.sp .6
+.RS 4n
+The value of \fIwwn\fR was not valid WWN identifier.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfFreeLuResource.3stmf b/usr/src/man/man3stmf/stmfFreeLuResource.3stmf
new file mode 100644
index 0000000..619aaa1
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfFreeLuResource.3stmf
@@ -0,0 +1,79 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFFREELURESOURCE 3STMF "May 8, 2009"
+.SH NAME
+stmfFreeLuResource \- free an allocated logical unit resource
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... -lstmf [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfFreeLuResource\fR(\fBluResource\fR \fIhdl\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIhdl\fR\fR
+.ad
+.RS 7n
+A logical unit resource previously allocated in a call to
+\fBstmfCreateLuResource\fR(3STMF) or \fBstmfGetLuResource\fR(3STMF).
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfFreeLuResource()\fR function frees a logical unit resource that was
+previously allocated in a call to \fBstmfCreateLuResource\fR(3STMF) or
+\fBstmfGetLuResource\fR(3STMF).
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 26n
+The API call was successful.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_INVALID_ARG\fR\fR
+.ad
+.RS 26n
+The \fIhdl\fR argument is not a valid logical unit resource.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBstmfCreateLuResource\fR(3STMF),
+\fBstmfGetLuResource\fR(3STMF), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfFreeMemory.3stmf b/usr/src/man/man3stmf/stmfFreeMemory.3stmf
new file mode 100644
index 0000000..21a8411
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfFreeMemory.3stmf
@@ -0,0 +1,58 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFFREEMEMORY 3STMF "Jun 9, 2008"
+.SH NAME
+stmfFreeMemory \- free memory allocated by this library
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBvoid\fR \fBstmfFreeMemory\fR(\fBvoid *\fR\fIstmfMemory\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fImemory\fR\fR
+.ad
+.RS 10n
+A pointer to memory that was previously allocated by this library. If
+\fBstmfMemory()\fR is equal to \fINULL\fR, the call will return successfully.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfFreeMemory()\fR function frees memory allocated by this library.
+.SH RETURN VALUES
+.sp
+.LP
+No values are returned.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfGetHostGroupList.3stmf b/usr/src/man/man3stmf/stmfGetHostGroupList.3stmf
new file mode 100644
index 0000000..d5e61af
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetHostGroupList.3stmf
@@ -0,0 +1,78 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETHOSTGROUPLIST 3STMF "Jun 9, 2008"
+.SH NAME
+stmfGetHostGroupList \- retrieve the list of host groups
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfGetInitiatorGroupList\fR(\fBstmfGroupList **\fR\fIhostGroupList\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIhostGroupList\fR\fR
+.ad
+.RS 17n
+A pointer to a pointer to an \fBstmfGroupList\fR structure. On successful
+return, this will contain a list of host groups.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetInitiatorGroupList()\fR function retrieves the list of host
+groups. The caller should call \fBstmfFreeMemory\fR(3STMF) when this list is no
+longer needed.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOMEM\fR\fR
+.ad
+.RS 23n
+The library was unable to allocate sufficient memory for \fIhostGroupList\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBstmfFreeMemory\fR(3STMF), \fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfGetHostGroupMembers.3stmf b/usr/src/man/man3stmf/stmfGetHostGroupMembers.3stmf
new file mode 100644
index 0000000..d9769e3
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetHostGroupMembers.3stmf
@@ -0,0 +1,88 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETHOSTGROUPMEMBERS 3STMF "Jun 9, 2008"
+.SH NAME
+stmfGetHostGroupMembers \- retrieve the properties of the specified host group
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfGetHostGroupMembers\fR(\fBstmfGroupName *\fR\fIhostGroupName\fR,
+ \fBstmfGroupProperties **\fR\fIgroupProperties\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIhostGroupName\fR\fR
+.ad
+.RS 19n
+The name of the host group whose member list is being retrieved.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIgroupProperties\fR\fR
+.ad
+.RS 19n
+A pointer to a pointer to an \fBstmfGroupProperties\fR structure. On successful
+return, this will contain the properties for the specified \fIhostGroupName\fR.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetHostGroupMembers()\fR function retrieves the properties of the
+specified host group. The caller should call \fBstmfFreeMemory\fR(3STMF) when
+this list is no longer needed.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOT_FOUND\fR\fR
+.ad
+.RS 24n
+The specified \fIhostGroupName\fR was not found in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBstmfFreeMemory\fR(3STMF), \fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfGetLogicalUnitList.3stmf b/usr/src/man/man3stmf/stmfGetLogicalUnitList.3stmf
new file mode 100644
index 0000000..c0adf4f
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetLogicalUnitList.3stmf
@@ -0,0 +1,78 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETLOGICALUNITLIST 3STMF "Jun 9, 2008"
+.SH NAME
+stmfGetLogicalUnitList \- retrieve the list of logical units
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfGetLogicalUnitList\fR(\fBstmfGuidList **\fR\fIlogicalUnitList\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIlogicalUnitList\fR\fR
+.ad
+.RS 19n
+A pointer to a pointer to an \fBstmfGuidList\fR structure. On successful
+return, this will contain a list of logical units in the system.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetLogicalUnitList()\fR function retrieves the list of logical
+units. The caller should call \fBstmfFreeMemory\fR(3STMF) when this list is no
+longer needed.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOMEM\fR\fR
+.ad
+.RS 23n
+The library was unable to allocate sufficient memory for \fIlogicalUnitList\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBstmfFreeMemory\fR(3STMF), \fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfGetLogicalUnitProperties.3stmf b/usr/src/man/man3stmf/stmfGetLogicalUnitProperties.3stmf
new file mode 100644
index 0000000..c859836
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetLogicalUnitProperties.3stmf
@@ -0,0 +1,91 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETLOGICALUNITPROPERTIES 3STMF "Jun 9, 2008"
+.SH NAME
+stmfGetLogicalUnitProperties \- retrieve the properties of the specified
+logical unit
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfGetLogicalUnitProperties\fR(\fBstmfGuid *\fR\fIlogicalUnit\fR,
+ \fBstmfLogicalUnitProperties *\fR\fIlogicalUnitProps\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIlogicalUnit\fR\fR
+.ad
+.RS 20n
+The identifier of the logical unit whose properties are being retrieved.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIlogicalUnitProps\fR\fR
+.ad
+.RS 20n
+A pointer to an \fBstmfLogicalUnitProperties\fR structure. On successful
+return, this will contain the properties for the specified
+\fIlogicalUnitOid\fR.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetLogicalUnitProperties()\fR function retrieves the properties of
+the specified logical unit.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_LOGICAL_UNIT_NOT_REGISTERED\fR\fR
+.ad
+.sp .6
+.RS 4n
+The \fIlogicalUnit\fR is not a valid registered logical unit in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfGetLuResource.3stmf b/usr/src/man/man3stmf/stmfGetLuResource.3stmf
new file mode 100644
index 0000000..04ddd94
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetLuResource.3stmf
@@ -0,0 +1,91 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETLURESOURCE 3STMF "May 8, 2009"
+.SH NAME
+stmfGetLuResource \- get a logical unit resource for a currently registered
+logical unit
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... -lstmf [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfGetLuResource\fR(\fBstmfGuid *\fR\fIluGuid\fR, \fBluResource *\fR\fIhdl\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIluGuid\fR\fR
+.ad
+.RS 10n
+The guid of logical unit to retrieve.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIhdl\fR\fR
+.ad
+.RS 10n
+The logical unit resource to create.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetLuResource()\fR function retrieves a logical unit resource
+\fIhdl\fR for a given logical unit. The \fIluGuid\fR argument must represent a
+currently registered stmf logical unit. This retrieved resource is a set of
+device-specific properties for a logical unit device. This allocates an
+\fBluResource\fR \fIhdl\fR of device type matching \fIluGuid\fR. The
+\fBstmfFreeLuResource\fR(3STMF) function should be used when \fIhdl\fR is no
+longer needed.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 24n
+The API call was successful.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOT_FOUND\fR\fR
+.ad
+.RS 24n
+The guid does not exist.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBstmfFreeLuResource\fR(3STMF), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfGetPersistMethod.3stmf b/usr/src/man/man3stmf/stmfGetPersistMethod.3stmf
new file mode 100644
index 0000000..8bc727e
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetPersistMethod.3stmf
@@ -0,0 +1,89 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETPERSISTMETHOD 3STMF "May 8, 2009"
+.SH NAME
+stmfGetPersistMethod \- get the current persistence method for stmf
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... -lstmf [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfGetPersistMethod\fR(\fBuint8_t *\fR\fIpersistType\fR, \fBboolean_t\fR \fIserviceState\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIpersistType\fR\fR
+.ad
+.RS 16n
+On success, contains the current persistence setting based on
+\fIserviceState\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIserviceState\fR\fR
+.ad
+.RS 16n
+When set to \fBB_TRUE\fR, \fIpersistType\fR will contain the persist method
+currently set for the service. When set to \fBB_FALSE\fR, \fIpersistType\fR
+will contain the persist method for the current library open.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetPersistMethod()\fR function retrieves the current persistent
+method setting for the service or for a given library open. When set to
+\fBB_TRUE\fR, retrieves the setting from the service.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 27n
+The API call was successful.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_PERSIST_TYPE\fR\fR
+.ad
+.RS 27n
+Unable to retrieve persist type from service.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfGetProviderData.3stmf b/usr/src/man/man3stmf/stmfGetProviderData.3stmf
new file mode 100644
index 0000000..d3d69c4
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetProviderData.3stmf
@@ -0,0 +1,105 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETPROVIDERDATA 3STMF "Oct 7, 2008"
+.SH NAME
+stmfGetProviderData \- retrieve the data for the specified provider
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfGetProviderData\fR(\fBchar *\fR\fIproviderName\fR, \fBnvlist_t **\fR\fInvl\fR,
+ \fBint\fR \fIproviderType\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIproviderNane\fR\fR
+.ad
+.RS 16n
+The name of the provider for which data is being retrieved.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fInvl\fR\fR
+.ad
+.RS 16n
+A pointer to a pointer to an \fBnvlist_t\fR. On success, this will contain the
+nvlist retrieved. Caller is responsible for freeing the returned nvlist by
+calling \fBnvlist_free\fR(3NVPAIR).
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIproviderType\fR\fR
+.ad
+.RS 16n
+The value for this parameter must be either \fBSTMF_LU_PROVIDER_TYPE\fR or
+\fBSTMF_PORT_PROVIDER_TYPE\fR.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetProviderData()\fR function retrieves the data for the specified
+provider.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOMEM\fR\fR
+.ad
+.RS 23n
+The library was unable to allocate sufficient memory to return the data.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed (Obsolete)
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBnvlist_free\fR(3NVPAIR),
+\fBstmfGetProviderDataProt\fR(3STMF), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBstmfGetProviderData()\fR function is deprecated in favor of
+\fBstmfGetProviderDataProt\fR(3STMF) and may be removed in a future revision of
+\fBlibstmf\fR(3LIB).
diff --git a/usr/src/man/man3stmf/stmfGetProviderDataProt.3stmf b/usr/src/man/man3stmf/stmfGetProviderDataProt.3stmf
new file mode 100644
index 0000000..665fe80
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetProviderDataProt.3stmf
@@ -0,0 +1,111 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETPROVIDERDATAPROT 3STMF "Oct 7, 2008"
+.SH NAME
+stmfGetProviderDataProt \- retrieve data for the specified provider
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+ #include <libstmf.h>
+
+\fBint\fR \fBstmfGetProviderDataProt\fR(\fBchar *\fR\fIproviderName\fR, \fBnvlist_t **\fR\fInvl\fR,
+ \fBint\fR \fIproviderType\fR, \fBuint64_t *\fR\fItoken\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIproviderName\fR\fR
+.ad
+.RS 16n
+The name of the provider for which data is being retrieved.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fInvl\fR\fR
+.ad
+.RS 16n
+A pointer to a pointer to an \fBnvlist_t\fR. On success, this will contain the
+nvlist retrieved. The caller is responsible for freeing the returned nvlist by
+calling \fBnvlist_free\fR(3NVPAIR).
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIproviderType\fR\fR
+.ad
+.RS 16n
+The value for this parameter must be either \fBSTMF_LU_PROVIDER_TYPE\fR or
+\fBSTMF_PORT_PROVIDER_TYPE\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fItoken\fR\fR
+.ad
+.RS 16n
+A pointer to a \fBuint64_t\fR allocated by the caller. On success, this will
+contain a token for the returned data that can be used in a call to
+\fBstmfSetProviderDataProt\fR(3STMF) to ensure that the data returned in this
+call is not stale. If this value is \fINULL\fR, the token will be ignored.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetProviderDataProt()\fR function retrieves the data for the
+specified provider.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOMEM\fR\fR
+.ad
+.RS 23n
+The library was unable to allocate sufficient memory to return the data.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBnvlist_free\fR(3NVPAIR),
+\fBstmfSetProviderDataProt\fR(3STMF), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfGetState.3stmf b/usr/src/man/man3stmf/stmfGetState.3stmf
new file mode 100644
index 0000000..d886a97
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetState.3stmf
@@ -0,0 +1,66 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETSTATE 3STMF "Jun 9, 2008"
+.SH NAME
+stmfGetState \- retrieve the list of sessions on a target
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfGetState\fR(\fBstmfState *\fR\fIstate\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIstate\fR\fR
+.ad
+.RS 9n
+A pointer to an \fBstmfState\fR structure allocated by the caller.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetState()\fR function retrieves the list of target port groups.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfGetTargetGroupList.3stmf b/usr/src/man/man3stmf/stmfGetTargetGroupList.3stmf
new file mode 100644
index 0000000..fed57ac
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetTargetGroupList.3stmf
@@ -0,0 +1,78 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETTARGETGROUPLIST 3STMF "Jun 9, 2008"
+.SH NAME
+stmfGetTargetGroupList \- retrieve the list of target port groups
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfGetTargetGroupList\fR(\fBstmfGroupList **\fR\fItargetGroupList\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fItargetGroupList\fR\fR
+.ad
+.RS 19n
+A pointer to a pointer to an \fBstmfGroupList\fR structure. On successful
+return, this will contain a list of target port group object identifiers.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetTargetGroupList()\fR function retrieves the list of target port
+groups. The caller should call \fBstmfFreeMemory\fR(3STMF) when this list is no
+longer needed.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOMEM\fR\fR
+.ad
+.RS 23n
+The library was unable to allocate sufficient memory for \fItargetGroupList\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBstmfFreeMemory\fR(3STMF), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfGetTargetGroupMembers.3stmf b/usr/src/man/man3stmf/stmfGetTargetGroupMembers.3stmf
new file mode 100644
index 0000000..6df7972
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetTargetGroupMembers.3stmf
@@ -0,0 +1,90 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETTARGETGROUPMEMBERS 3STMF "Jun 9, 2008"
+.SH NAME
+stmfGetTargetGroupMembers \- retrieve the properties of the specified target
+port group
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfGetTargetGroupMembers\fR(\fBstmfGroupName *\fR\fItargetGroupName\fR,
+ \fBstmfGroupProperties **\fR\fIgroupProperties\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fItargetGroupName\fR\fR
+.ad
+.RS 19n
+The name of the target port group whose member list is being retrieved.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIgroupProperties\fR\fR
+.ad
+.RS 19n
+A pointer to a pointer to an \fBstmfGroupProperties\fR structure. On successful
+return, this will contain the properties for the specified
+\fItargetGroupName\fR.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetTargetGroupMembers()\fR function retrieves the properties of the
+specified target port group. The caller should call \fBstmfFreeMemory\fR(3STMF)
+when this list is no longer needed.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOT_FOUND\fR\fR
+.ad
+.RS 24n
+The specified \fItargetGroupName\fR was not found in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 24n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBstmfFreeMemory\fR(3STMF), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfGetTargetList.3stmf b/usr/src/man/man3stmf/stmfGetTargetList.3stmf
new file mode 100644
index 0000000..cfd8d1b
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetTargetList.3stmf
@@ -0,0 +1,78 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETTARGETLIST 3STMF "Jun 9, 2008"
+.SH NAME
+stmfGetTargetList \- retrieve the list of target ports
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfGetTargetList\fR(\fBstmfDevidList **\fR\fItargetList\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fItargetList\fR\fR
+.ad
+.RS 14n
+A pointer to a pointer to an \fBstmfDevidList\fR structure. On successful
+return, this will contain a list of target ports in the system.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetTargetList()\fR function retrieves the list of target ports. The
+caller should call \fBstmfFreeMemory\fR(3STMF) when this list is no longer
+needed.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOMEM\fR\fR
+.ad
+.RS 23n
+The library was unable to allocate sufficient memory for \fItargetList\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBstmfFreeMemory\fR(3STMF), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfGetTargetProperties.3stmf b/usr/src/man/man3stmf/stmfGetTargetProperties.3stmf
new file mode 100644
index 0000000..3fbe1eb
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetTargetProperties.3stmf
@@ -0,0 +1,88 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETTARGETPROPERTIES 3STMF "Jun 9, 2008"
+.SH NAME
+stmfGetTargetProperties \- retrieve the properties of the specified target port
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfGetTargetProperties\fR(\fBstmfDevid *\fR\fItarget\fR,
+ \fBstmfTargetProperties *\fR\fItargetProperties\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fItarget\fR\fR
+.ad
+.RS 20n
+The identifier of the target port whose properties are being retrieved.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fItargetProperties\fR\fR
+.ad
+.RS 20n
+A pointer to an \fBstmfTargetProperties\fR structure allocated by the caller.
+On successful return, the structure will contain the properties for the
+specified.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetTargetProperties()\fR function retrieves the properties of the
+specified target port.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOT_FOUND\fR\fR
+.ad
+.RS 24n
+The specified target was not found in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 24n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfGetViewEntryList.3stmf b/usr/src/man/man3stmf/stmfGetViewEntryList.3stmf
new file mode 100644
index 0000000..6f07e84
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfGetViewEntryList.3stmf
@@ -0,0 +1,90 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFGETVIEWENTRYLIST 3STMF "Jun 9, 2008"
+.SH NAME
+stmfGetViewEntryList \- retrieve the list of view entries for a specified
+logical unit
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfGetViewEntryList\fR(\fBstmfGuid *\fR\fIlogicalUnit\fR,
+ \fBstmfViewEntryList **\fR\fIviewEntryList\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIlogicalUnit\fR\fR
+.ad
+.RS 17n
+The identifier of the logical unit for which to retrieve the list of view
+entries.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIviewEntryList\fR\fR
+.ad
+.RS 17n
+A pointer to a pointer to an \fBstmfViewEntryList\fR structure. On successful
+return, this will contain a list of view entries for \fIlogicalUnit\fR.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfGetViewEntryList()\fR function retrieves the list of view entries
+for a specified logical unit. The caller should call
+\fBstmfFreeMemory\fR(3STMF) when this list is no longer needed.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOMEM\fR\fR
+.ad
+.RS 23n
+The library was unable to allocate sufficient memory for \fIviewEntryList\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBstmfFreeMemory\fR(3STMF), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfModifyLu.3stmf b/usr/src/man/man3stmf/stmfModifyLu.3stmf
new file mode 100644
index 0000000..52b9bb2
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfModifyLu.3stmf
@@ -0,0 +1,196 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFMODIFYLU 3STMF "May 8, 2009"
+.SH NAME
+stmfModifyLu, stmfModifyLuByFname \- modify a logical uni
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... -lstmf [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfModifyLu\fR(\fBstmfGuid *\fR\fIluGuid\fR, \fBuint32_t\fR \fIprop\fR, \fBconst char *\fR\fIpropVal\fR)
+.fi
+
+.LP
+.nf
+\fBint\fR \fBstmfModifyLu\fR(\fBuint16_t\fR \fIdType\fR, \fBconst char *\fR\fIfname\fR, \fBuint32_t\fR \fIprop\fR,
+ \fBconst char *\fR\fIpropVal\fR)
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIluGuid\fR\fR
+.ad
+.RS 11n
+The guid of logical unit to modify.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIfname\fR\fR
+.ad
+.RS 11n
+The filename of logical unit to modify.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIdType\fR\fR
+.ad
+.RS 11n
+Type of logical unit. See \fBstmfCreateLuResource\fR(3STMF).
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIprop\fR\fR
+.ad
+.RS 11n
+A property type value. See DESCRIPTION for valid values.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIpropVal\fR\fR
+.ad
+.RS 11n
+A property value.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfModifyLu()\fR and \fBstmfModifyLuByFname()\fR functions modify the
+properties of a logical unit device.
+.sp
+.LP
+Valid properties for modify \fBSTMF_DISK\fR:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_ALIAS\fR\fR
+.ad
+.sp .6
+.RS 4n
+Up to 255 characters representing a user defined name for the device.
+.sp
+Default: Set to file name of backing store.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_SIZE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Numeric value with optional suffix (for example, 100G, 1T) to specify unit of
+size.
+.sp
+Default: Size of device specified in the \fBSTMF_LU_PROP_DATA_FILENAME\fR
+property value.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_WRITE_CACHE_DISABLE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write back cache disable. When specified as "true" or "false", specifies write
+back cache disable behavior.
+.sp
+Default: Writeback cache setting of the backing store device specified by
+\fBSTMF_LU_PROP_DATA_FILENAME\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_WRITE_PROTECT\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write protect bit. When specified as "true" or "false", specifies whether the
+device behaves as a write protected device.
+.sp
+Default: "false"
+.RE
+
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The API call was successful.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_INVALID_ARG\fR\fR
+.ad
+.sp .6
+.RS 4n
+Either \fIprop\fR or \fIpropVal\fR is unrecognized.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_INVALID_PROPSIZE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The size of \fIpropVal\fR is invalid.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NO_PROP\fR\fR
+.ad
+.sp .6
+.RS 4n
+The value of \fIprop\fR is unknown for this resource type.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBstmfCreateLuResource\fR(3STMF), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfOfflineLogicalUnit.3stmf b/usr/src/man/man3stmf/stmfOfflineLogicalUnit.3stmf
new file mode 100644
index 0000000..d7ee7ec
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfOfflineLogicalUnit.3stmf
@@ -0,0 +1,86 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFOFFLINELOGICALUNIT 3STMF "Jun 9, 2008"
+.SH NAME
+stmfOfflineLogicalUnit \- take offline a logical unit that is currently in the
+online state
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfOfflineLogicalUnit\fR(\fBstmfGuid *\fR\fIlogicalUnit\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIlogicalUnit\fR\fR
+.ad
+.RS 15n
+The identifier of the logical unit to offline.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfOfflineLogicalUnit()\fR function takes offline a logical unit that
+is currently in the online state. Once in the offline state, the logical unit
+will no longer be capable of servicing requests in the system.
+.sp
+.LP
+This API call can be used to take offline a logical unit for servicing. Once
+the logical unit is offline, an initiator port that attempts to issue any SCSI
+commands to the offlined logical unit will receive a check condition. For
+purposes of the REPORT LUNS command, the logical unit will no longer appear in
+the logical unit inventory for any initiator ports to which it is currently
+mapped by one or more view entries.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_BUSY\fR\fR
+.ad
+.RS 23n
+The device is currently busy.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfOfflineTarget.3stmf b/usr/src/man/man3stmf/stmfOfflineTarget.3stmf
new file mode 100644
index 0000000..021286b
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfOfflineTarget.3stmf
@@ -0,0 +1,84 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFOFFLINETARGET 3STMF "Jun 9, 2008"
+.SH NAME
+stmfOfflineTarget \- take offline a target port that is currently in the online
+state
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfOfflineTarget\fR(\fBstmfDevid *\fR\fItarget\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fItarget\fR\fR
+.ad
+.RS 10n
+The identifier of the target port to offline.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfOfflineTarget()\fR function takes offline a target port that is
+currently in the online state. Once in the offline state, the target port will
+no longer be capable of servicing requests in the system.
+.sp
+.LP
+This API call can be used to take offline a target port device for servicing.
+Once the target port is offline, it will no longer be available to any entities
+outside of the SCSI Target Mode Framework. Any initiator ports that currently
+have sessions established by the offlined target port will be logged out.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_BUSY\fR\fR
+.ad
+.RS 23n
+The device is currently busy.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfOnlineLogicalUnit.3stmf b/usr/src/man/man3stmf/stmfOnlineLogicalUnit.3stmf
new file mode 100644
index 0000000..de88aaf
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfOnlineLogicalUnit.3stmf
@@ -0,0 +1,68 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFONLINELOGICALUNIT 3STMF "Jun 9, 2008"
+.SH NAME
+stmfOnlineLogicalUnit \- take online of a logical unit that is currently in the
+offline state
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfOnlineLogicalUnit\fR(\fBstmfGuid *\fR\fIlogicalUnit\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIlogicalUnit\fR\fR
+.ad
+.RS 15n
+The identifier of the logical unit to take online.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfOnlineLogicalUnit()\fR function takes online of a logical unit that
+is currently in the offline state.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfOnlineTarget.3stmf b/usr/src/man/man3stmf/stmfOnlineTarget.3stmf
new file mode 100644
index 0000000..f93e158
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfOnlineTarget.3stmf
@@ -0,0 +1,68 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFONLINETARGET 3STMF "Jun 9, 2008"
+.SH NAME
+stmfOnlineTarget \- take online a target port that is currently in the offline
+state
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag \&.\|.\|.\fR ] \fIfile\fR\&.\|.\|. \fB-lstmf\fR [ \fIlibrary \&.\|.\|.\fR ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfOnlineTarget\fR(\fBstmfDevid *\fR\fItarget\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fItarget\fR\fR
+.ad
+.RS 10n
+The identifier of the target port to online.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfOnlineTarget()\fR function takes online a target port that is
+currently in the offline state.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfRemoveFromHostGroup.3stmf b/usr/src/man/man3stmf/stmfRemoveFromHostGroup.3stmf
new file mode 100644
index 0000000..dfd26c6
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfRemoveFromHostGroup.3stmf
@@ -0,0 +1,100 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFREMOVEFROMHOSTGROUP 3STMF "Jun 9, 2008"
+.SH NAME
+stmfRemoveFromHostGroup \- remove an initiator port from an host group
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfRemoveFromHostGroup\fR(\fBstmfGroupName *\fR\fIhostGroupName\fR
+ \fBstmfDevid *\fR\fIinitiatorPortName\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIhostGroupName\fR\fR
+.ad
+.RS 21n
+The name of the host group from which the specified \fIhostGroupName\fR is
+being removed.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIinitiatorPortName\fR\fR
+.ad
+.RS 21n
+The device identifier of the initiator port to remove from the specified host
+group.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfRemoveFromHostGroup()\fR function removes an initiator port from an
+host group.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_GROUP_NOT_FOUND\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified \fIhostGroupName\fR was not found in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_MEMBER_NOT_FOUND\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified \fIinitiatorPortName\fR was not found in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfRemoveFromTargetGroup.3stmf b/usr/src/man/man3stmf/stmfRemoveFromTargetGroup.3stmf
new file mode 100644
index 0000000..7270e7b
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfRemoveFromTargetGroup.3stmf
@@ -0,0 +1,110 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFREMOVEFROMTARGETGROUP 3STMF "Jun 15, 2009"
+.SH NAME
+stmfRemoveFromTargetGroup \- remove a target port from an target port group
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfRemoveFromTargetGroup\fR(\fBstmfGroupName *\fR\fItargetGroupName\fR
+ \fBstmfDevid *\fR\fItargetName\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fItargetGroupName\fR\fR
+.ad
+.RS 19n
+The name of the target port group from which the specified
+\fItargetGroupName\fR is being removed.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fItargetName\fR\fR
+.ad
+.RS 19n
+The device identifier of the target port to remove from the specified target
+port group.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfRemoveFromTargetGroup()\fR function removes a target port from an
+target port group.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_GROUP_NOT_FOUND\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified \fItargetGroupName\fR was not found in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_MEMBER_NOT_FOUND\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified \fItargetName\fR was not found in the system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_TG_ONLINE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The specified \fItargetName\fR must be offline.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfRemoveViewEntry.3stmf b/usr/src/man/man3stmf/stmfRemoveViewEntry.3stmf
new file mode 100644
index 0000000..f7dbc01
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfRemoveViewEntry.3stmf
@@ -0,0 +1,86 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFREMOVEVIEWENTRY 3STMF "Jun 9, 2008"
+.SH NAME
+stmfRemoveViewEntry \- remove a view entry from the system
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfRemoveViewEntry\fR(\fBstmfGuid *\fR\fIlogicalUnit\fR,
+ \fBuint32_t\fR \fIviewEntry\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIlogicalUnit\fR\fR
+.ad
+.RS 15n
+The identifier of the logical unit for the view entry being removed.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIviewEntry\fR\fR
+.ad
+.RS 15n
+The numeric value of the view entry to be removed.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfRemoveViewEntry()\fR function removes a view entry from the system.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOT_FOUND\fR\fR
+.ad
+.RS 24n
+The specified \fIlogicalUnit\fR or \fIviewEntryName\fR was not found in the
+system.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 24n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfSetLuProp.3stmf b/usr/src/man/man3stmf/stmfSetLuProp.3stmf
new file mode 100644
index 0000000..3f0fc41
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfSetLuProp.3stmf
@@ -0,0 +1,321 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFSETLUPROP 3STMF "Jul 17, 2009"
+.SH NAME
+stmfSetLuProp, stmfGetLuProp \- set or get a logical unit property
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... -lstmf [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfSetLuProp\fR(\fBluResource\fR \fIhdl\fR, \fBuint32_t\fR \fIprop\fR, \fBconst char *\fR\fIpropVal\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBstmfGetLuProp\fR(\fBluResource\fR \fIhdl\fR, \fBuint32_t\fR \fIprop\fR, \fBchar *\fR\fIpropVal\fR,
+ \fBsize_t *\fR\fIpropLen\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIhdl\fR\fR
+.ad
+.RS 11n
+A logical unit resource previously allocated by
+\fBstmfCreateLuResource\fR(3STMF) or \fBstmfGetLuResource\fR(3STMF).
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIprop\fR\fR
+.ad
+.RS 11n
+A property type value. See DESCRIPTION for valid values.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIpropVal\fR\fR
+.ad
+.RS 11n
+A property value.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIpropLen\fR\fR
+.ad
+.RS 11n
+The length of the specified property value. If \fIpropLen\fR was of an
+insufficient size to hold the returned property value, \fIpropLen\fR will
+contain the required size of the buffer and \fBSTMF_ERROR_INVALID_ARG\fR will
+be returned.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+These functions set or get property values. All property values are expressed
+in human-readable form. Boolean properties are expressed in case insensitive
+form of "true" or "false". Properties that are represented by ASCII hexadecimal
+contain no leading characters to indicate a base hexadecimal representation
+(that is, no leading "0x"). The \fIprop\fR argument can be one of the following
+values:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_ALIAS\fR\fR
+.ad
+.sp .6
+.RS 4n
+Up to 255 characters representing a user defined name for the device.
+.sp
+Default: Set to file name of backing store.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_BLOCK_SIZE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Numeric value for block size in bytes in 2^n.
+.sp
+Default: 512
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_COMPANY_ID\fR\fR
+.ad
+.sp .6
+.RS 4n
+Organizational Unique Identifier. 6 hexadecimal ASCII characters representing
+the IEEE OUI company id assignment. This will be used to generate the device
+identifier (GUID).
+.sp
+Default: 00144F
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_DATA_FILENAME\fR\fR
+.ad
+.sp .6
+.RS 4n
+Character value representing the file name of the backing store device.
+.sp
+Default: None
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_GUID\fR\fR
+.ad
+.sp .6
+.RS 4n
+ASCII hexadecimal string of 32 characters representing the unique identifier
+for the device. This must be of valid 32 hexadecimal ASCII characters
+representing a valid NAA Registered Extended Identifier.
+.sp
+Default: Set by framework to a generated value.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_META_FILENAME\fR\fR
+.ad
+.sp .6
+.RS 4n
+Metadata file name. When specified, will be used to hold the SCSI metadata for
+the logical unit.
+.sp
+Default: None. If this value is not specified, the value specified in
+\fBSTMF_LU_PROP_DATA_FILENAME\fR will be used.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_MGMT_URL\fR\fR
+.ad
+.sp .6
+.RS 4n
+Up to 1024 characters representing Management Network Address URLs. More than
+one URL can be passed using space delimited URLs.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_PID\fR\fR
+.ad
+.sp .6
+.RS 4n
+Up to 16 characters of product identification that will be reflected in the
+Standard INQUIRY data returned for the device.
+.sp
+Default: sSet to COMSTAR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_PRODUCT_REV\fR\fR
+.ad
+.sp .6
+.RS 4n
+Up to 4 characters of revision information that will be reflected in the
+Standard INQUIRY data returned for the device.
+.sp
+Default: Set to 1.0.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_SERIAL_NUM\fR\fR
+.ad
+.sp .6
+.RS 4n
+Serial Number. Specifies the SCSI Vital Product Data Serial Number (page 80h).
+It is a character value up to 252 bytes in length.
+.sp
+Default: None
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_SIZE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Numeric value w/optional suffix, e.g. 100G, 1T, to specify unit of size.
+.sp
+Default: Size of the device specified in the \fBSTMF_LU_PROP_DATA_FILENAME\fR
+property value.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_VID\fR\fR
+.ad
+.sp .6
+.RS 4n
+8 characters of vendor identification per SCSI SPC-3 and will be reflected in
+the Standard INQUIRY data returned for the device.
+.sp
+Default: Set to SUN.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_WRITE_CACHE_DISABLE\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write back cache disable. When specified as "true" or "false", specifies write
+back cache disable behavior.
+.sp
+Default: Writeback cache setting of the backing store device specified by
+\fBSTMF_LU_PROP_DATA_FILENAME\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_LU_PROP_WRITE_PROTECT\fR\fR
+.ad
+.sp .6
+.RS 4n
+Write protect bit. When specified as "true" or "false", specifies whether the
+device behaves as a write protected device.
+.sp
+Default: "false"
+.RE
+
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.sp .6
+.RS 4n
+The API call was successful.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_INVALID_ARG\fR\fR
+.ad
+.sp .6
+.RS 4n
+Either \fIprop\fR or \fIpropVal\fR is unrecognized.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_INVALID_PROPSIZE\fR\fR
+.ad
+.sp .6
+.RS 4n
+The size of \fIpropVal\fR is invalid.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NO_PROP\fR\fR
+.ad
+.sp .6
+.RS 4n
+The value of \fIprop\fR is unknown for this resource type.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBstmfCreateLuResource\fR(3STMF),
+\fBstmfGetLuResource\fR(3STMF), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfSetPersistMethod.3stmf b/usr/src/man/man3stmf/stmfSetPersistMethod.3stmf
new file mode 100644
index 0000000..acdc949
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfSetPersistMethod.3stmf
@@ -0,0 +1,87 @@
+'\" te
+.\" Copyright (c) 2009, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFSETPERSISTMETHOD 3STMF "May 8, 2009"
+.SH NAME
+stmfSetPersistMethod \- set persistence method for the stmf service
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... -lstmf [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfSetPersistMethod\fR(\fBuint8_t\fR \fIpersistType\fR, \fBboolean_t\fR \fIserviceSet\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIpersistType\fR\fR
+.ad
+.RS 15n
+The requested persistence setting. Can be either \fBSTMF_PERSIST_SMF\fR or
+\fBSTMF_PERSIST_NONE\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIserviceSet\fR\fR
+.ad
+.RS 15n
+Set to indicate whether the setting should persist on the stmf service. When
+set to \fBB_FALSE\fR, this setting is only applicable for the duration of the
+current library open or until a subsequent call is made to change the setting.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfSetPersistMethod()\fR function sets the persistence method for stmf.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 27n
+The API call was successful.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_PERSIST_TYPE\fR\fR
+.ad
+.RS 27n
+The \fIpersistType\fR argument is invalid.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBattributes\fR(5)
diff --git a/usr/src/man/man3stmf/stmfSetProviderData.3stmf b/usr/src/man/man3stmf/stmfSetProviderData.3stmf
new file mode 100644
index 0000000..1e492a5
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfSetProviderData.3stmf
@@ -0,0 +1,102 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFSETPROVIDERDATA 3STMF "Oct 7, 2008"
+.SH NAME
+stmfSetProviderData \- set the data for the specified provider
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+#include <libstmf.h>
+
+\fBint\fR \fBstmfSetProviderData\fR(\fBchar *\fR\fIproviderName\fR, \fBnvlist_t *\fR\fInvl\fR,
+ \fBint\fR \fIproviderType\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIproviderName\fR\fR
+.ad
+.RS 16n
+The name of the provider for which data is being set.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fInvl\fR\fR
+.ad
+.RS 16n
+A pointer to an \fBnvlist_t\fR containing the nvlist to be set.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIproviderType\fR\fR
+.ad
+.RS 16n
+The value must be either \fBSTMF_LU_PROVIDER_TYPE\fR or
+\fBSTMF_PORT_PROVIDER_TYPE\fR.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfSetProviderData()\fR function sets the data for the specified
+provider.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_NOMEM\fR\fR
+.ad
+.RS 23n
+The library was unable to allocate sufficient memory to return the data.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 23n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed (Obsolete)
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBstmfSetProviderDataProt\fR(3STMF), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The \fBstmfSetProviderData()\fR function is deprecated in favor of
+\fBstmfSetProviderDataProt\fR(3STMF) and may be removed in a future revision of
+\fBlibstmf\fR(3LIB).
diff --git a/usr/src/man/man3stmf/stmfSetProviderDataProt.3stmf b/usr/src/man/man3stmf/stmfSetProviderDataProt.3stmf
new file mode 100644
index 0000000..71ae13a
--- /dev/null
+++ b/usr/src/man/man3stmf/stmfSetProviderDataProt.3stmf
@@ -0,0 +1,114 @@
+'\" te
+.\" Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
+.\" 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]
+.TH STMFSETPROVIDERDATAPROT 3STMF "Oct 7, 2008"
+.SH NAME
+stmfSetProviderDataProt \- retrieve data for the specified provider
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lstmf\fR [ \fIlibrary\fR... ]
+ #include <libstmf.h>
+
+\fBint\fR \fBstmfSetProviderDataProt\fR(\fBchar *\fR\fIproviderName\fR, \fBnvlist_t **\fR\fInvl\fR,
+ \fBint\fR \fIproviderType\fR, \fBuint64_t *\fR\fItoken\fR);
+.fi
+
+.SH PARAMETERS
+.sp
+.ne 2
+.na
+\fB\fIproviderName\fR\fR
+.ad
+.RS 16n
+The name of the provider for which data is being set.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fInvl\fR\fR
+.ad
+.RS 16n
+A pointer to a pointer to an \fBnvlist_t\fR containing the nvlist to be set.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fIproviderType\fR\fR
+.ad
+.RS 16n
+The value for this parameter must be either \fBSTMF_LU_PROVIDER_TYPE\fR or
+\fBSTMF_PORT_PROVIDER_TYPE\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fItoken\fR\fR
+.ad
+.RS 16n
+A pointer to a \fBuint64_t\fR that contains the value returned from a
+successful call to \fBstmfGetProviderDataProt\fR(3STMF). If this argument is
+\fINULL\fR, the token is ignored. Otherwise, the token will be verified against
+the current data. If the token represents stale data, the call fails.
+.sp
+On success, \fItoken\fR will contain the new token for the data being set and
+can be used in subsequent calls to \fBstmfSetProviderData\fR(3STMF). On failure
+the contents are undefined.
+.RE
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBstmfSetProviderDataProt()\fR function sets the data for the specified
+provider.
+.SH RETURN VALUES
+.sp
+.LP
+The following values are returned:
+.sp
+.ne 2
+.na
+\fB\fBSTMF_ERROR_PROV_DATA_STALE\fR\fR
+.ad
+.RS 30n
+The token value represents stale data.
+.RE
+
+.sp
+.ne 2
+.na
+\fB\fBSTMF_STATUS_SUCCESS\fR\fR
+.ad
+.RS 30n
+The API call was successful.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+box;
+c | c
+l | l .
+ATTRIBUTE TYPE ATTRIBUTE VALUE
+_
+Interface Stability Committed
+_
+MT-Level Safe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBlibstmf\fR(3LIB), \fBnvlist_free\fR(3NVPAIR),
+\fBstmfGetProviderDataProt\fR(3STMF), \fBstmfSetProviderData\fR(3STMF),
+\fBattributes\fR(5)