The common values of File System Services are described in the following sections:
The bit values for effective rights are as follows:
Not all features of NSS are available or enabled for all volumes, pools, or LSSes. A particular LSS might support a feature but the administrator can choose not to enable that feature for a particular volume. For example, ZLSS supports salvage; however, for any particular ZLSS volume, the administrator can choose to disable salvage for that volume.
There are two fields that are defined to know which features are available: one that says which features are available and another to say which features are enabled. Both are 64-bit fields.
The ability to store deleted files, to enumerate them, salvage them, and to purge them.
If enabled, the object is read-only and cannot be written.
The ability to store and manage files in a compressed format.
The ability to keep track of the space used by each user.
Extended attributes can be stored and retrieved for a file.
Can store and manage multiple data streams for a file including the Macintosh Resource Fork.
Can store and manage basic DOS metadata and attributes including Read-only, Hidden, System, and the basic DOS dates and time.
Can store and manage NetWare file metadata including all the NetWare attributes, creation time, archived time, modified time, accessed time, metadata modified time, primary namespace information, etc.
Can store and manage Macintosh metadata including resource forks and MAC finder information. Because resource fork must be stored, zFEATURE_DATA_STREAMS must also be set.
Can store and manage UNIX metadata as required by the Novell® NFS product.
Allows multiple names in the same namespace for one file.
User-level transactions can be used to ensure that either all updates occur or none of the updates occur.
Sparse files can be stored and managed by the file system.
A file can be extended or truncated without changing the logical end of the file.
The application can bypass the NSS cache and talk directly to the disk.
The values defined in the these feature fields can be saved. It also means that some can be modified.
The file system can check itself for inconsistencies.
The file system has a built-in repair utility.
The file attributes parameter is a 64-bit mask that specifies the attributes associated with a file object.
This bit behaves like the DOS read-only file attributes. If set, the file might not be modified or deleted.
This bit behaves like the DOS hidden file attribute. When using client utilities that honor this bit, the file is not visible.
This bit behaves like the DOS system file attribute. It flags the file as being a system file.
This bit is preserved by NSS, but is not used by the Z-APIs. The traditional NetWare Semantic Agent uses this bit.
If this bit is set, the file is a directory container file object, the contents of which can be read using the zWildRead interfaces. Many of the file object types are directory container file objects, meaning that they contain other objects. File object types that are directory containers must have this bit set, and those that are not must not have this bit set.
This bit behaves like the DOS Archive attribute. If this bit is set, the file has been modified, but not yet archived. A backup utility should clear this bit after the file has been archived.
This bit is preserved by NSS, but is not currently used.
This is a series of three bits. The file system reserves and stores these bits, but has no knowledge of their usage or interpretation. These bits are manipulated by clients, and are used as a place to store search modes associated with a file.
This bit is preserved by NSS, but is not currently used, because suballocation is not supported.
If this bit is set, the file is not moved to the salvage system when it is deleted. A file that is deleted while this attribute is in effect can not be undeleted.
If this bit is set, the file cannot be renamed.
If this bit is set, the file cannot be deleted.
If this bit is set, the file cannot be copied. It can be used by the client but not enforced by NSS.
This bit is preserved by NSS, but is not currently used, because data migration is not yet supported.
This bit triggers compression as soon as the file is closed.
This bit prevents the file from being compressed.
This bit indicates that the file is currently compressed.
This bit indicates that the data stream cannot be compressed.
This bit behaves similar to the zFA_ARCHIVE bit, but it is only associated with the metadata of a file rather than the normal file data. If this bit is set, the file’s metadata has been modified, but not yet archived. A backup utility should clear this bit after the file’s metadata has been archived.
This bit identifies this file object as representing either a symbolic link, a junction, or a URL link. The data stream for the file object contains the link information.
This bit prevents opportunistic locks from being returned. It also indicates that even if you have the file open for read-only, the contents can change. For example, if you read the same location from the file twice, you can get two different answers.
The end-of-file marker is not well defined for files marked with this attribute.
The following bits are supported in the traditional NetWare file system but are not yet supported in NSS. Support might be added for these bits as additional features are added to NSS.
The following bits are supported in the traditional NetWare file system but are deprecated for the zAPIs and are only available through the traditional NetWare APIs.
The zAPIs supply the transaction on the individual calls rather then setting a state in the open file. This lets one open file be used in multiple transactions.
The fileType parameter is used by zCreate to identify the type of file to be created. NSS supports several different types of file objects, the most basic of which is a file. Other types are used to represent system components such as storage pools, extended attributes. and volumes, or even the NSS file system itself. The various components of the system can be enumerated by scanning the directories that contain these system component file objects and reading the information stored with those file objects.
A normal data file or directory.
An extended attribute. Arbitrary metadata can be attached to a file.
An additional streams attached to a file. Used to implement resource forks for Macintosh support.
(Future plan) Acts like a UNIX named pipe.
A volume contains a set of files and directories.
A pool contains storage that might be used by volumes.
The getInfoMask parameter is a 64-bit mask that specifies the file object information to be returned in the zInfo_s structure by zGetInfo. If no bits are set, no information is returned. Bits that don’t make sense for the given object are ignored.
Get the standard information about the file.
Get the name of the file object for the namespace and hard link used to locate the file object.
Get the name of the file object for each namespace in which a valid name exists. Also, get the NameSpaceID of the name that is considered the original name for the file object. For a file object with multiple hard links, this only gets the names associated with the link used to find the file object.
Get the nameSpaceID of the primary namespace for this file object’s name.
Get the various time stamps associated with the file object in seconds. Although time is returned in seconds, the underlying system can only keep a resolution of 2 seconds.
Get the various time stamps associated with the file object in micro-seconds. Though time is returned in micro-seconds, the underlying system may only keep a resolution of 1 or 2 seconds. Note that only zGET_TIMES_IN_SECS or zGET_TIMES_IN_MICROS but not both can be set.
Get the various eDirectory object IDs associated with this file object.
Get information for this file object about the physical disk storage that is used.
Get information about the file object’s block size.
Get the file open count and hard link count information about the file object.
Get summary information about extended attributes owned by this file object.
Get summary information about data streams owned by this file object.
Get deleted file information about the file. This includes the time in micro-seconds that the file was deleted and the user ID of the user who deleted the file.
Get the file object’s Macintosh metadata information.
Get the file object’s UNIX metadata information.
If the file object is an extended attribute, this bit returns the extAttrUserFlags.
If the file object is a volume, this bit returns the basic information about the volume.
If the file object is a volume, this bit returns the salvage information for the volume.
If the file object is a directory, this bit returns the directory quota information for the directory.
NOTE:This bit requires zInfoB_s, which implies the zINFO_VERSION_B flag.
If the file object is a pool, this bit returns the basic information about the pool.
The inheritedRightsMask parameter specifies the rights inherited while resolving a filename.
The user is allowed to read the contents of the files at this level in the tree and below.
The user is allowed to modify the contents of the files at this level in the tree and below.
The user is allowed to create new files in this directory or below in the tree.
The user is allowed to delete files in the directory or below in the tree.
The user is allowed to change the access control metadata in the tree or below.
The user can see the filenames in this directory and below.
The user can modify the metadata for files at this level in the tree and below.
The user is granted supervisor rights at this level in the tree and below.
The user can salvage files at this level in the tree and below.
The matchAttributes parameter is a bit mask that specifies what attributes a file must have to match in a wild card request. If no match attribute is given, all file objects match. The following masks can be combined by ORing to match on hidden, directory, and system attributes. For example, if you specify zMATCH_HIDDEN | zMATCH_SYSTEM, the matching file object must have both the attributes of HIDDEN and SYSTEM set (not HIDDEN or SYSTEM attributes).
Matches if the hidden bit is set on the file.
Matches if the hidden bit is not set on the file. If both zMATCH_NON_HIDDEN and zMATCH_HIDDEN are set, nothing matches. If neither are set, both hidden and non-hidden files match.
Matches if the file object is a directory.
Matches if the file object is not a directory. If both zMATCH_NON_DIRECTORY and zMATCH_DIRECTORY are set, nothing matches. If neither are set, both directories and other files match.
Matches if a system file.
Matches if not a system file. If both zMATCH_NON_SYSTEM and zMATCH_SYSTEM are set, nothing will match. If neither are set, both system and non-system files match.
Matches all file objects in the given directory.
The modifyInfoMask parameter is a 64-bit mask that specifies the file object information to be modified in the zInfo_s structure. If a bit is set in this bit mask, the corresponding field of modifyInfo is used to modify the file. All other fields in the zInfo_s structure (for which the bits are not set) are ignored. If a bit doesn’t make sense for a particular file object, it is ignored.
Modify the file object’s attributes.
Modify the file object’s creation time.
Modify the file object’s last archived time.
Modify the file object’s last modified time.
Modify the file object’s last accessed time.
Modify the file object’s last metadata modified time.
Modify the file object’s owner ID.
Modify the file object’s archiver ID.
Modify the file object’s modifier ID.
Modify the file object’s metadata modifier ID.
Modify the file object’s primary namespace ID.
Modify the file object’s deleted info. If the file object is not deleted, this is ignored.
Modify the file object’s deleted ID info only. If the file object is not deleted, this is ignored.
Modify the file object’s Macintosh metadata.
Modify the file object’s UNIX metadata.
If the file object is an extended attribute, modify the value of extAttrUserFlags.
If the file object is a volume, enable or disable the features associated with this volume.
If the file object is a volume, modify the value of the eDirectory object ID that identifies this volume in the tree.
If the file object is a volume, modify the value of salvage.minKeepSeconds. This is the minimum number of seconds that a deleted file remains on the volume before it becomes a candidate for auto purging.
If the file object is a volume, modify the value of salvage.maxKeepSeconds. This is the maximum number of seconds that a deleted file remains on the volume before it must be auto purged.
If the file object is a volume, modify the value of salvage.lowWaterMark. This is an integer percentage value. If the percentage of free space on the volume falls below this value, auto purging is initiated.
If the file object is a volume, modify the value of salvage.highWaterMark. This is an integer percentage value. If the percentage of free space on the volume rises above this value, auto purging is terminated.
Allows you to change the quota on a volume.
The following namespaces are defined:
This namespace supports 8.3 names. All names are stored in uppercase and use standard DOS file naming rules.
This namespace supports 31-byte Macintosh filenames. The names are case preserving but not case sensitive. The names follow the standard Macintosh file naming rules.
This namespace supports 256-byte names. All names are stored in a case-preserving manner, and names are case sensitive. The names follow the standard UNIX file naming rules.
This namespace supports 256-byte names. All names are stored in a case-preserving manner, but names are not case sensitive. The names use the standard file naming rules of Windows* 95, Windows NT*, and OS/2*.
This namespace is used for data streams. It is supported for names whose name type is zNTYPE_DATA_STREAM. It has the same name semantics as the long namespace.
This namespace is used for extended attributes. It is supported for names whose name type is zNTYPE_EXTENDED_ATTRIBUTE. It has the same name semantics as the those in the current NetWare extended attributes.
The following name types are defined:
This name type is used for all standard files and subdirectories.
This name type is used for named data streams that use the data stream namespace to store their name.
This name type is used for named data streams that use the extended attribute namespace to store their name.
This name type is used for files and subdirectories that have been deleted, but that are still stored in the salvage system, from which they can be undeleted.
This is a bit mask that identifies various modes to be communicated when renaming a file object.
If this bit is set, file objects can be renamed to the same name without generating an error. If this bit is not set, an attempt to rename a file object to itself generates an error.
If this bit is set, then the file object is only renamed in the specified namespace, and it cannot be moved to another destination directory. The name remains unchanged in the other namespaces. If this bit is not set, the file object is renamed in all applicable namespaces, and it can be moved to a different directory.
This is a bit mask identifying requested access rights and behaviors to be associated with a key. These bits are not stored with the file. Instead, they are temporary bits associated with an open instance of the file.
Read access is requested on the open file handle.
Write access is requested on the open file handle.
Deny read access is requested on the open file handle. No other readers should be allowed to have the file open.
Deny write access is requested on the open file handle. No other writers should be allowed to have the file open.
Scan access to file object. You can use zWildRead to scan the files, subdirectories, and attributes of a file or directory.
When the file is closed, it is deleted.
Flush the user data and metadata for the file when it is closed. If the file is closed by the system because of a disconnect, it is still flushed.
Works with zRR_DELETE_FILE_ON_CLOSE to keep the file from being placed in the salvage system when it is deleted on close.
Opens a file in direct I/O mode. Replaces having a separate call to change to direct I/O mode.
Opens a file only. Does not read ahead data blocks (default value is 2) for any open file, if the file size is > 0. Used by SMS for performing backup, when parallel files are open.
When this bit is set, a file object can be created if read access was requested, even if the read access is not allowed.
While the file is open with this bit set, it cannot be deleted.
When the file is opened, the metadata last accessed time should not be updated. Intended to let the clients access the icon information without causing a change in the file metadata that eventually needs to be written to disk.
Rather than reading the decompressed version of the data stream, read the compressed version of the data stream. zERR_DENY_WRITE must be set for this compression flag to work.
Keep the compressed version of the file even after decompressing it.
Return information from the snapshot and not the original file object.
The following bits are supported in the traditional NetWare file system but are not yet supported in NSS: FILE_READ_THROUGH_BIT, FILE_WRITE_THROUGH_BIT, ALWAYS_READ_AHEAD_BIT, NEVER_READ_AHEAD_BIT, NO_RIGHTS_CHECK_ON_OPEN_BIT ALLOW_SECURE_DIRECTORY_ACCESS_BIT
This is a value identifying the state associated with this volume.
The state of this volume is unknown.
This volume has been deactivated and is not available for use.
This volume is in a maintenance state. It is either being checked or repaired and is temporarily not available for use.
This volume is active and available for use.