© 1983-2012 Novell. See COPYRIGHT file for details.

Apple File Service NCPs


The AppleTalk Filing Protocol (AFP) allows applications to create, access, and delete Macintosh-format directories and files on a NetWare file server. NetWare support for AFP begins with NetWare 286 v2.15. The following is a discussion of the file-naming conventions that apply to AFP in a NetWare environment.

AFP directory and file names (also called long names) are from 1 to 31 characters. A long name is preceded by one byte specifying the length of the name. Long names can contain any ASCII character between 1 and 255 except the colon (:) but cannot be terminated by a null character (character 0). The file server automatically generates DOS-style file names (short names) for all AFP directories and any files created or accessed. The file server maintains both the long name and the short name for each AFP directory and file.

NetWare converts AFP names to DOS names by using the following conventions:

If a long name that contains no periods is converted to a short name, the first eight valid DOS characters of the long name are used:


	Long Name		Short Name

	THIS IS A NAME		THISISAN

If a long name contains a period within the first nine valid DOS characters, the first eight characters before the period and the first three characters after the period (up to, but not including, another period) are used:


	Long Name		Short Name

	THIS.IS.A.NAME		THIS.IS

This renaming convention permits both AFP and non-AFP workstations to access AFP directories and files. Suppose an application creates the following two files in a parent directory:


	Long Name			Short Name

	THIS IS THE FIRST FILE		THISISTH
	THIS IS THE SECOND FILE	?

Since the two short names would be the same (THISISTH), the file server replaces the last character of the second file's short name with an ascending decimal number that will guarantee its uniqueness. Thus, in this example, the short name of the second file would be THISIST1. If two files having the long names THIS IS A 1 TIME OFFER and THIS IS A 1 TIME DEAL were created in the same directory, the corresponding short names would be THISISA1 and THISISA2, respectively. Now suppose a Macintosh workstation copies THIS IS THE SECOND FILE (THISIST1) to a floppy diskette and then copies the file from the diskette to a different directory (which is empty) on the file server. Since THIS IS THE SECOND FILE is the only file that would yield the short name THISISTH (that is, it does not conflict with another short name in the directory), the file server uses THISISTH as the short name.

Unlike NetWare directory paths that contain slashes (/) or backslashes (\) to separate directory and file names into their hierarchy, AFP paths use the null character (decimal zero) to make the distinction.

The following is an example of an AFP path:

VOLUME:DIRECTORY1 DIRECTORY2 FILE

This path is represented on the NetWare file server by

VOLUME:DIRECTOR/DIRECTOR/FILE

NetWare applications frequently target the short name of a directory or a file by combining a NetWare directory handle and a short (NetWare-style) directory or file path. Likewise, applications target the long name of a directory or a file by combining an AFP entry ID and a long (AFP-style) directory or file path. Applications should not combine NetWare directory handles and long names, or AFP entry IDs and short names. (AFP entry IDs are detailed in the calls that follow.)


AFP 2.0 Create Directory 0x2222 35 13

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (46+PathLen) word (Hi-Lo) 9 SubFunctionCode (13) byte 10 VolumeNumber byte 11 BaseDirectoryID long (Hi-Lo) 15 Reserved byte 16 FinderInfo byte[32] 48 ProDOSInfo byte[6] 54 PathLen byte 55 PathModString byte[PathLen]

Reply Format

Offset Content Type (reply header) 8 NewDirectoryID long (Hi-Lo)

Completion Code

	0	0x00	Successful
	131	0x83	Hard I/O Error
	132	0x84	No Create Privileges
	136	0x88	Invalid File Handle
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	153	0x99	Directory Full Error
	156	0x9C	Invalid Path
	158	0x9E	Bad File Name
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, File Exists Error

Remarks

This call creates a directory with an AFP directory name.

The FinderInfo field is a 32-byte structure defined in Apple documentation.

The ProDOSInfo field is a 6-byte structure defined in Apple documentation.

See Also
AFP Delete (0x2222 35 03)
AFP Create Directory (0x2222 35 01)


AFP 2.0 Create File 0x2222 35 14

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (46+PathLen) word (Hi-Lo) 9 SubFunctionCode (14) byte 10 VolumeNumber byte 11 BaseDirectoryID long (Hi-Lo) 15 DeleteExistingFileFlag (0=no, 1=yes) byte 16 FinderInfo byte[32] 48 ProDOSInfo byte[6] 54 PathLen byte 55 PathModString byte[PathLen]

Reply Format

Offset Content Type (reply header) 8 NewDirectoryID long (Hi-Lo)

Completion Code

	0	0x00	Successful
	128	0x80	Lock Fail
	129	0x81	Out Of Handles
	131	0x83	Hard I/O Error
	132	0x84	No Create Privileges
	135	0x87	Create File Name Error
	136	0x88	Invalid File Handle
	138	0x8A	No Delete Privileges
	141	0x8D	Some Files In Use
	142	0x8E	All Files In Use
	143	0x8F	Some Read Only
	144	0x90	All Read Only
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	153	0x99	Directory Full Error
	155	0x9B	Bad Directory Handle
	156	0x9C	Invalid Path
	158	0x9E	Bad File Name
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, File Exists Error, No Files Found

Remarks

This call creates a file with an AFP filename. The resulting file is not opened. The file is created as a normal read-write file with system and hidden bits cleared.

The PathModString field is in AFP long-name format.

The FinderInfo field is a 32-byte structure defined in Apple documentation.

The ProDOSInfo field is a 6-byte structure defined in Apple documentation.

See Also
AFP Delete (0x2222 35 03)
AFP Create File (0x2222 35 02)


AFP 2.0 Get File Or Directory Information 0x2222 35 15

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (9+PathStringLen) word (Hi-Lo) 9 SubFunctionCode (15) byte 10 VolumeNumber byte 11 MacBaseDirectoryID long (Hi-Lo) 15 RequestBitMap word (Hi-Lo) 17 PathStringLen byte 18 PathModString byte[PathStringLen]

Reply Format

Offset Content Type (reply header) 8 AFPEntryID long (Hi-Lo) 12 ParentID long (Hi-Lo) 16 Attributes word (Hi-Lo) 18 DataForkLen long (Hi-Lo) 22 ResourceForkLen long (Hi-Lo) 26 TotalOffspring word (Hi-Lo) 28 CreationDate word (Hi-Lo) 30 AccessDate word (Hi-Lo) 32 ModifyDate word (Hi-Lo) 34 ModifyTime word (Hi-Lo) 36 BackupDate word (Hi-Lo) 38 BackupTime word (Hi-Lo) 40 FinderInfo byte[32] 72 LongName byte[32] 104 OwnerID long (Hi-Lo) 108 ShortName byte[12] 112 AccessPrivileges word (Hi-Lo) 114 ProDOSInfo byte[6]

Completion Code

	0	0x00	Successful
	131	0x83	Hard I/O Error
	136	0x88	Invalid File Handle
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	156	0x9C	Invalid Path
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, No Files Found

Remarks

The AFP Entry ID of the root is always 1L. The Parent ID of the root is always 0L. The information that will be returned is determined by the bits that are set in the Request Bit Map field of the request message. The bits in the 16-bit Request Bit Map field are defined as follows:

	0x0100	Return Attributes
	0x0200	Return AFP Parent Entry ID
	0x0400	Return Creation Date
	0x0800	Return Access Date
	0x1000	Return Modify Date/Time
	0x2000	Return Backup Date/Time
	0x4000	Return Finder Information
	0x8000	Return Long Name
	0x0001	Return AFP Entry ID
	0x0002	Return Data Fork Length
	0x0004	Return Resource Fork Length
	0x0008	Return Number of Offspring
	0x0010	Return Owner Object ID
	0x0020	Return Short Name
	0x0040	Return Access Privileges

The following information is returned in the reply message. The APF Entry ID field contains the Apple equivalent to a 1-byte NetWare directory handle, with one important exception: a NetWare directory handle points to a file server volume or directory; an AFP entry ID points to a file server volume, directory, or file.

The Parent ID field contains the AFP entry ID for the parent directory of the target file or directory.

The Attributes field indicates the attributes of the directory or file. The following bits are defined:

	0x0100	Read Only
	0x0200	Hidden
	0x0400	System
	0x0800	Execute Only
	0x1000	Subdirectory
	0x2000	Archive
	0x4000	Undefined
	0x8000	Shareable File
	0x0001	Search Mode
	0x0002	Search Mode
	0x0004	Search Mode
	0x0008	Undefined
	0x0010	Transaction
	0x0020	Index
	0x0040	Read Audit
	0x0080	Write Audit

The Data Fork Len field indicates the data size of the target AFP file. If the Path Mod String specifies an AFP directory, the Data Fork Len field returns a zero.

The Resource Fork Len field indicates the resource fork size of the target AFP file. If the Path Mod String specifies an AFP directory, the Resource Fork Len field returns a zero.

The Total Offspring field indicates the number of files and subdirectories contained within the specified directory. If the AFP directory or file path specifies an AFP file, the Total Offspring field returns a zero.

The Creation Date field contains the creation date (in AFP format) of the target directory or file.

The Access Date field indicates when the target AFP file was last accessed (returned in AFP format). If the Path Mod String specifies an AFP directory, the Access Date field returns a zero.

The Modify Date and Modify Time fields contain the last modified date and time (in AFP format) of the target AFP file. If the Path Mod String specifies an AFP directory, these fields return zeros.

The Backup Date and Backup Time fields contain the last backup date and time (in AFP format) of the specified directory or file.

The Finder Info field contains the 32-byte finder information structure associated with each AFP directory or file.

The Long Name field contains the AFP directory or filename of the specified directory or file. An AFP directory or filename can be from 1 to 31 characters long.

The Owner ID field contains the 4-byte bindery object ID of the entity that created or last modified the file.

The Short Name field contains the NetWare directory or filename of the specified directory or file. A NetWare directory or filename is in the DOS "8.3" format.

The Access Privileges field contains a one-word bit mask of the calling station's privileges for accessing the specified file or directory. The Access Privileges field contains the following bits:

	0x0100	Read Privileges (files only)
	0x0200	Write Privileges (files only)
	0x0400	Open Privileges (files only)
	0x0800	Create Privileges (files only)
	0x1000	Delete Privileges (files only)
	0x2000	Parental Privileges (directories only: 
			  create/delete/rename subdirectories)
	0x4000	Search Privileges (directories only)
	0x8000	Modify File Status Flags Privileges
			  (both files and directories)

If the returned object is a file, the bits in the Access Privileges field indicate which rights the caller has in relation to the file. These rights are the rights that the caller has in the file's parent directory, appropriately modified if the file itself has certain rights restrictions. For example, if the file rights are set to read-only, the Write and Delete bits will be cleared. If the returned object is a directory, the bits in the Access Privileges field indicate which rights the caller has in that subdirectory.

Read the introduction to the Directory Services chapter for a complete discussion of directory and file access rights.

The ProDOSInfo field is a 6-byte structure defined in Apple documentation.

See Also
AFP 2.0 Set File Information (0x2222 35 16)
AFP Get File Information (0x2222 35 05)
AFP Set File Information (0x2222 35 09)


AFP 2.0 Scan File Information 0x2222 35 17

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (17+PathStringLen) word (Hi-Lo) 9 SubFunctionCode (17) byte 10 VolumeNumber byte 11 MacBaseDirectoryID long (Hi-Lo) 15 MacLastSeenID long (Hi-Lo) 19 DesiredResponseCount word (Hi-Lo) 21 SearchBitMap word (Hi-Lo) 23 RequestBitMap word (Hi-Lo) 25 PathStringLen byte 26 PathModString byte[PathStringLen]

Reply Format

Offset Content Type (reply header) 8 ActualResponseCount word (Hi-Lo) (repeats ActualResponseCount times) 10 EntryID long (Hi-Lo) 14 ParentID long (Hi-Lo) 18 Attributes word (Hi-Lo) 20 DataForkLen long (Hi-Lo) 24 ResourceForkLen long (Hi-Lo) 28 TotalOffspring word (Hi-Lo) 30 CreationDate word (Hi-Lo) 32 AccessDate word (Hi-Lo) 34 ModifyDate word (Hi-Lo) 36 ModifyTime word (Hi-Lo) 38 BackupDate word (Hi-Lo) 40 BackupTime word (Hi-Lo) 42 FinderInfo byte[32] 74 LongName byte[32] 106 OwnerID long (Hi-Lo) 110 ShortName byte[12] 122 AccessPrivileges word (Hi-Lo) 124 ProDOSInfo byte[6]

Completion Code

	0	0x00	Successful
	131	0x83	Hard I/O Error
	136	0x88	Invalid File Handle
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	156	0x9C	Invalid Path
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, No Files Found

Remarks

This call returns information about an AFP entry (directory or file). Iterative scanning of a directory is supported, and up to 4 responses per request can be specified in DesiredResponseCount.

To scan all files and subdirectories of a directory, the client should set Mac Last Seen ID to -1L on the first call; for each subsequent call, the client should set Mac Last Seen ID to the Entry ID of the previous call.

If Path Mod String specifies a directory, all entries within the directory that fit the criteria in Search Bit Map and Request Bit Map will be returned.

The bits in the Search Bit Map are defined as follows:

	0x0100	Search For Hidden Files/Directories
	0x0200	Search For System Files/Directories
	0x0400	Search For Subdirectories
	0x0800	Search For Files

The bits in the Request Bit Map are defined as follows:

	0x0100	Return Attributes
	0x0200	Return Parent Directory ID
	0x0400	Return Create Date
	0x0800	Return Access Date
	0x1000	Return Modify Date/Time
	0x2000	Return Backup Date/Time
	0x4000	Return Finder Info
	0x8000	Return Long Name
	0x0001	Return Entry ID
	0x0002	Return Data Fork Length
	0x0004	Return Resource Fork Length
	0x0008	Return Number Of Offspring
	0x0010	Return Owner ID
	0x0020	Return Short Name
	0x0040	Return Access Rights

The following information is returned in the reply message.

The APF Entry ID field contains the Apple equivalent to a 1-byte NetWare directory handle, with one important exception: a NetWare directory handle points to a server volume or directory; an AFP entry ID points to a server volume, directory, or file.

The Parent ID field contains the AFP entry ID for the parent directory of the target file or directory.

The Attributes field indicates the attributes of the directory or file. The following bits are defined:

	0x0100	Read Only
	0x0200	Hidden
	0x0400	System
	0x0800	Execute Only
	0x1000	Subdirectory
	0x2000	Archive
	0x4000	Undefined
	0x8000	Shareable File
	0x0001	Search Mode
	0x0002	Search Mode
	0x0004	Search Mode
	0x0008	Undefined
	0x0010	Transaction
	0x0020	Index
	0x0040	Read Audit
	0x0080	Write Audit

The Data Fork Len field indicates the data size of the target AFP file. If the Path Mod String specifies an AFP directory, the Data Fork Len field returns a zero.

The Resource Fork Len field indicates the resource fork size of the target AFP file. If the Path Mod String specifies an AFP directory, the Resource Fork Len field returns a zero.

The Total Offspring field indicates the number of files and subdirectories contained within the specified directory. If the AFP directory or file path specifies an AFP file, the Total Offspring field returns a zero.

The Creation Date field contains the creation date (in AFP format) of the target directory or file.

The Access Date indicates when the target AFP file was last accessed (returned in AFP format). If Path Mod String specifies an AFP directory, the Access Date field returns a zero.

The Modify Date and Modify Time fields contain the last modified date and time (in AFP format) of the target AFP file. If the Path Mod String specifies an AFP directory, these fields return zeros.

The Backup Date and Backup Time fields contain the last backup date and time (in AFP format) of the specified directory or file.

The Finder Info field contains the 32-byte finder information structure associated with each AFP directory or file.

The Long Name field contains the AFP directory or filename of the specified directory or file. An AFP directory or filename can be from 1 to 31 characters long.

The Owner ID field contains the 4-byte bindery object ID of the entity that created or last modified the file.

The Short Name field contains the NetWare directory or filename of the specified directory or file. A NetWare directory or filename is in the DOS "8.3" format.

The Access Privileges field contains a one-word bit mask of the calling station's privileges for accessing the specified file or directory. The Access Privileges field contains the following bits:

	0x0100	Read Privileges (files only)
	0x0200	Write Privileges (files only)
	0x0400	Open Privileges (files only)
	0x0800	Create Privileges (files only)
	0x1000	Delete Privileges (files only)
	0x2000	Parental Privileges (directories only: 
			  create/delete/rename subdirectories)
	0x4000	Search Privileges (directories only)
	0x8000	Modify File Status Flags Privileges (both files and directories)

If the returned object is a file, the bits in the Access Privileges field indicate which rights the caller has in relation to the file. These rights are the rights that the caller has in the file's parent directory, appropriately modified if the file itself has certain rights restrictions (that is, a read-only file would cause the Write and Delete bits to be cleared).

If the returned object is a directory, the bits in the Access Privileges field indicate the rights that the caller has in that directory.

Read the introduction to the Directory Services chapter for a complete discussion of directory and file access rights.

The ProDOSInfo field is a 6-byte structure defined in Apple documentation.

See Also
AFP 2.0 Set File Information (0x2222 35 16)
AFP Scan File Information (0x2222 35 10)


AFP 2.0 Set File Information 0x2222 35 16

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (61+PathStringLen) word (Hi-Lo) 9 SubFunctionCode (16) byte 10 VolumeNumber byte 11 MacBaseDirectoryID long (Hi-Lo) 15 RequestBitMap word (Hi-Lo) 17 Attributes word (Hi-Lo) 19 CreationDate word (Hi-Lo) 21 AccessDate word (Hi-Lo) 23 ModifyDate word (Hi-Lo) 25 ModifyTime word (Hi-Lo) 27 BackupDate word (Hi-Lo) 29 BackupTime word (Hi-Lo) 31 FinderInfo byte[32] 63 ProDOSInfo bye[6] 69 PathStringLen byte 70 PathModString byte[PathStringLen]

Reply Format

Offset Content Type (reply header)

Completion Code

	0	0x00	Successful
	1	0x01	Out Of Disk Space
	131	0x83	Hard I/O Error
	136	0x88	Invalid File Handle
	147	0x93	No Read Privileges
	148	0x94	No Write Privileges
	149	0x95	File Detached
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	156	0x9C	Invalid Path
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, No Files Found

Remarks

This call sets information pertaining to the specified AFP file or directory.

The bits in the Request Bit Map field are interpreted as follows:

	0x0100	Set Attributes
	0x0400	Set Create Date
	0x0800	Set Access Date
	0x1000	Set Modify Date/Time
	0x2000	Set Backup Date/Time
	0x4000	Set Finder Info

The Attributes field indicates the attributes of the directory or file. The following bits are defined:

	0x0100	Read Only
	0x0200	Hidden
	0x0400	System
	0x0800	Execute Only
	0x1000	Subdirectory
	0x2000	Archive
	0x4000	Undefined
	0x8000	Shareable File
	0x0001	Search Mode
	0x0002	Search Mode
	0x0004	Search Mode
	0x0008	Undefined
	0x0010	Transaction
	0x0020	Index
	0x0040	Read Audit
	0x0080	Write Audit

The Creation Date field sets the creation date (in AFP format) of the target directory or file.

The Access Date field sets the date (in AFP format) that the target AFP file was last accessed. This field is ignored for directories.

The Modify Date and Modify Time fields set the date and time (in AFP format) that the target AFP file was last modified. These fields are ignored for directories.

The Backup Date and Backup Time fields set the date and time (in AFP format) that the target AFP file was last backed up.

The Finder Info field sets the 32-bytes of finder information for the specified AFP directory or file.

The ProDOSInfo field is a 6-byte structure defined in Apple documentation.

See Also
AFP Get File Information (0x2222 35 05)
AFP 2.0 Scan File Information (0x2222 35 17)


AFP Alloc Temporary Directory Handle 0x2222 35 11

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (7+PathStringLen) word (Hi-Lo) 9 SubFunctionCode (11) byte 10 VolumeNumber byte 11 MacBaseDirectoryID long (Hi-Lo) 15 PathStringLen byte 16 PathModString byte[PathStringLen]

Reply Format

Offset Content Type (reply header) 8 NetWareDirectoryHandle byte 9 NetWareAccessRights byte

Completion Code

 	0	0x00	Successful
	131	0x83	Hard I/O Error
	136	0x88	Invalid File Handle
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	155	0x9B	Bad Directory Handle
	156	0x9C	Invalid Path
	157	0x9D	No Directory Handles
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure

Remarks

This call maps a NetWare directory handle to an AFP directory.

The NetWare Access Rights field is a 1-byte mask that returns the effective rights that the calling station has in the target directory. This byte can be a combination of the following bits:

	0x01	Read
	0x02	Write
	0x04	Open
	0x08	Create
	0x10	Delete
	0x20	Parental
	0x40	Search
	0x80	Modify

AFP Create Directory 0x2222 35 01

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (40+PathLen) word (Hi-Lo) 9 SubFunctionCode (1) byte 10 VolumeNumber byte 11 BaseDirectoryID long (Hi-Lo) 15 Reserved byte 16 FinderInfo byte[32] 48 PathLen byte 49 PathModString byte[PathLen]

Reply Format

Offset Content Type (reply header) 8 NewDirectoryID long (Hi-Lo)

Completion Code

	0	0x00	Successful
	131	0x83	Hard I/O Error
	132	0x84	No Create Privileges
	136	0x88	Invalid File Handle
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	153	0x99	Directory Full Error
	156	0x9C	Invalid Path
	158	0x9E	Bad File Name
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, File Exists Error

Remarks

This call creates a directory with an AFP directory name.

The Finder Info field is a 32-byte structure defined in Apple documentation.

See Also
AFP Delete (0x2222 35 03)
AFP 2.0 Create Directory (0x2222 35 13)


AFP Create File 0x2222 35 02

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (40+PathLen) word (Hi-Lo) 9 SubFunctionCode (2) byte 10 VolumeNumber byte 11 BaseDirectoryID long (Hi-Lo) 15 DeleteExistingFileFlag (0=no, 1=yes) byte 16 FinderInfo byte[32] 48 PathLen byte 49 PathModString byte[PathLen]

Reply Format

Offset Content Type (reply header) 8 NewDirectoryID long (Hi-Lo)

Completion Code

	0	0x00	Successful
	128	0x80	Lock Fail
	129	0x81	Out Of Handles
	131	0x83	Hard I/O Error
	132	0x84	No Create Privileges
	135	0x87	Create Filename Error
	136	0x88	Invalid File Handle
	138	0x8A	No Delete Privileges
	141	0x8D	Some Files In Use
	142	0x8E	All Files In Use
	143	0x8F	Some Read Only
	144	0x90	All Read Only
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	153	0x99	Directory Full Error
	155	0x9B	Bad Directory Handle
	156	0x9C	Invalid Path
	158	0x9E	Bad File Name
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, File Exists Error, No Files Found

Remarks

This call creates a file with an AFP filename. The resulting file is not opened. The file is created as a normal read-write file with system and hidden bits cleared.

The PathModString field is in AFP long-name format.

See Also
AFP Delete (0x2222 35 03)
AFP 2.0 Create File (0x2222 35 14)


AFP Delete 0x2222 35 03

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (7+PathLen) word (Hi-Lo) 9 SubFunctionCode (3) byte 10 VolumeNumber byte 11 BaseDirectoryID long (Hi-Lo) 15 PathLen byte 16 PathModString byte[PathLen]

Reply Format

Offset Content Type (reply header)

Completion Code

	0	0x00	Successful
	131	0x83	Hard I/O Error
	136	0x88	Invalid File Handle
	138	0x8A	No Delete Privileges
	141	0x8D	Some Files In Use
	142	0x8E	All Files In Use
	143	0x8F	Some Read Only
	144	0x90	All Read Only
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	155	0x9B	Bad Directory Handle
	156	0x9C	Invalid Path
	158	0x9E	Bad File Name
	159	0x9F	Directory Active
	160	0xA0	Directory Not Empty
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, No Files Found

Remarks

This call deletes a file or a directory.

The Path Mod String can be null.

Base Directory ID alone can specify the file or the directory.

Directories to be deleted must be empty.

Files to be deleted must be closed by all users.

See Also
AFP 2.0 Create File (0x2222 35 14)
AFP Create File (0x2222 35 02)
AFP 2.0 Create Directory (0x2222 35 13)
AFP Create Directory (0x2222 35 01)
AFP Get MacIntosh Info On Deleted File (0x2222 35 19)


AFP Get DOS Name From Entry ID 0x2222 35 18

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (6) word (Hi-Lo) 9 SubFunctionCode (18) byte 10 VolumeNumber byte 11 MacDirectoryEntryID long (Hi-Lo)

Reply Format

Offset Content Type (reply header) 8 PathStringLen byte 9 DOSPathString byte[PathStringLen]

Completion Code

	0	0x00	Successful
	137	0x89	No Search Privilege
	150	0x96	Server Out of Memory
	150	0x96	Target Not a Subdirectory
	191	0xBF	Invalid Name Space

Remarks

This call obtains the DOS directory path corresponding to a 32-bit Macintosh file or directory entry ID.

The Mac Directory Entry ID is the unique 32-bit AFP identifier of the file or directory.

See Also
AFP Get Entry ID From Path Name (0x2222 35 12)
AFP Get Entry ID From Name (0x2222 35 04)


AFP Get Entry ID From NetWare Handle 0x2222 35 06

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (7) word (Hi-Lo) 9 SubFunctionCode (6) byte 10 NetWareFileHandle byte[6]

Reply Format

Offset Content Type (reply header) 8 VolumeID byte 9 TargetEntryID long (Hi-Lo) 13 ForkIndicator (0=data, 1=resource) byte

Completion Code

	0	0x00	Successful
	131	0x83	Hard I/O Error
	136	0x88	Invalid File Handle
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	162	0xA2	I/O Lock Error

Remarks

This call returns an AFP Entry ID for the specified NetWare file handle.


AFP Get Entry ID From Name 0x2222 35 04

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStuctureLen (7+PathStringLen) word (Hi-Lo) 9 SubFunctionCode (4) byte 10 VolumeNumber byte 11 MacBaseDirectoryID long (Hi-Lo) 15 PathStringLen byte 16 PathModString byte[PathStringLen]

Reply Format

Offset Content Type (reply header) 8 TargetEntryID long (Hi-Lo)

Completion Code

	0	0x00	Successful
	131	0x83	Hard I/O Error
	136	0x88	Invalid File Handle
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	156	0x9C	Invalid Path
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, No Files Found

Remarks

This call will return the 32-bit AFP ID number of the specified directory or file (long name). The ID of the root directory is 1L.

See Also
AFP Get DOS Name From Entry ID (0x2222 35 18)


AFP Get Entry ID From Path Name 0x2222 35 12

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (3+PathStringLen) word (Hi-Lo) 9 SubFunctionCode (12) byte 10 NetWareDirectoryHandle byte 11 PathStringLen byte 12 NetWarePathString byte[PathStringLen]

Reply Format

Offset Content Type

	(reply header)
	8	TargetEntryID			long (Hi-Lo)

Completion Code

	0	0x00	Successful
	131	0x83	Hard I/O Error
	136	0x88	Invalid File Handle
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	155	0x9B	Bad Directory Handle
	156	0x9C	Invalid Path
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, No Files Found

Remarks

This call converts a NetWare-style path specification into a unique 32-bit Macintosh file or directory entry ID.

The NetWare Directory Handle and the NetWare Path String specifications are given in NetWare format (short name).

The Target Entry ID is the unique 32-bit AFP identifier of the file or directory.

See Also
AFP Get DOS Name From Entry ID (0x2222 35 18)


AFP Get File Information 0x2222 35 05

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (9+PathStringLen) word (Hi-Lo) 9 SubFunctionCode (5) byte 10 VolumeNumber byte 11 MacBaseDirectoryID long (Hi-Lo) 15 RequestBitMap word (Hi-Lo) 17 PathStringLen byte 18 PathModString byte[PathStringLen]

Reply Format

Offset Content Type (reply header) 8 AFPEntryID long (Hi-Lo) 12 ParentID long (Hi-Lo) 16 Attributes word (Hi-Lo) 18 DataForkLen long (Hi-Lo) 22 ResourceForkLen long (Hi-Lo) 26 TotalOffspring word (Hi-Lo) 28 CreationDate word (Hi-Lo) 30 AccessDate word (Hi-Lo) 32 ModifyDate word (Hi-Lo) 34 ModifyTime word (Hi-Lo) 36 BackupDate word (Hi-Lo) 38 BackupTime word (Hi-Lo) 40 FinderInfo byte[32] 72 LongName byte[32] 104 OwnerID long (Hi-Lo) 108 ShortName byte[12] 112 AccessPrivileges word (Hi-Lo)

Completion Code

	0	0x00	Successful
	131	0x83	Hard I/O Error
	136	0x88	Invalid File Handle
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	156	0x9C	Invalid Path
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, No Files Found

Remarks

The AFP Entry ID of the root is always 1L. The Parent ID of the root is always 0L. The information that will be returned is determined by the bits that are set in the Request Bit Map field of the request message. The bits in the 16-bit Request Bit Map field are defined as follows:

	0x0100	Return Attributes
	0x0200	Return AFP Parent Entry ID
	0x0400	Return Creation Date
	0x0800	Return Access Date
	0x1000	Return Modify Date/Time
	0x2000	Return Backup Date/Time
	0x4000	Return Finder Information
	0x8000	Return Long Name
	0x0001	Return AFP Entry ID
	0x0002	Return Data Fork Length
	0x0004	Return Resource Fork Length
	0x0008	Return Number of Offspring
	0x0010	Return Owner Object ID
	0x0020	Return Short Name
	0x0040	Return Access Privileges

The following information is returned in the reply message. The APF Entry ID field contains the Apple equivalent to a 1-byte NetWare directory handle, with one important exception: a NetWare directory handle points to a file server volume or directory; an AFP entry ID points to a file server volume, directory, or file.

The Parent ID field contains the AFP entry ID for the parent directory of the target file or directory.

The Attributes field indicates the attributes of the directory or file. The following bits are defined:

	0x0100	Read Only
	0x0200	Hidden
	0x0400	System
	0x0800	Execute Only
	0x1000	Subdirectory
	0x2000	Archive
	0x4000	Undefined
	0x8000	Shareable File
	0x0001	Search Mode
	0x0002	Search Mode
	0x0004	Search Mode
	0x0008	Undefined
	0x0010	Transaction
	0x0020	Index
	0x0040	Read Audit
	0x0080	Write Audit

The Data Fork Len field indicates the data size of the target AFP file. If the Path Mod String specifies an AFP directory, the Data Fork Len field returns a zero.

The Resource Fork Len field indicates the resource fork size of the target AFP file. If the Path Mod String specifies an AFP directory, the Resource Fork Len field returns a zero.

The Total Offspring field indicates the number of files and subdirectories contained within the specified directory. If the AFP directory or file path specifies an AFP file, the Total Offspring field returns a zero.

The Creation Date field contains the creation date (in AFP format) of the target directory or file.

The Access Date field indicates when the target AFP file was last accessed (returned in AFP format). If the Path Mod String specifies an AFP directory, the Access Date field returns a zero.

The Modify Date and Modify Time fields contain the last modified date and time (in AFP format) of the target AFP file. If the Path Mod String specifies an AFP directory, these fields return zeros.

The Backup Date and Backup Time fields contain the last backup date and time (in AFP format) of the specified directory or file.

The Finder Info field contains the 32-byte finder information structure associated with each AFP directory or file.

The Long Name field contains the AFP directory or filename of the specified directory or file. An AFP directory or filename can be from 1 to 31 characters long.

The Owner ID field contains the 4-byte bindery object ID of the entity that created or last modified the file.

The Short Name field contains the NetWare directory or filename of the specified directory or file. A NetWare directory or filename is in the DOS "8.3" format.

The Access Privileges field contains a one-word bit mask of the calling station's privileges for accessing the specified file or directory. The Access Privileges field contains the following bits:

	0x0100	Read Privileges (files only)
	0x0200	Write Privileges (files only)
	0x0400	Open Privileges (files only)
	0x0800	Create Privileges (files only)
	0x1000	Delete Privileges (files only)
	0x2000	Parental Privileges (directories only: 
			  create/delete/rename subdirectories)
	0x4000	Search Privileges (directories only)
	0x8000	Modify File Status Flags Privileges
			  (both files and directories)

If the returned object is a file, the bits in the Access Privileges field indicate which rights the caller has in relation to the file. These rights are the rights that the caller has in the file's parent directory, appropriately modified if the file itself has certain rights restrictions (for example, if the file rights are set to read-only, the Write and Delete bits will be cleared). If the returned object is a directory, the bits in the Access Privileges field indicate which rights the caller has in that subdirectory.

Read the introduction to the Directory Services chapter for a complete discussion of directory and file access rights.

See Also
AFP 2.0 Set File Information (0x2222 35 16)
AFP Set File Information (0x2222 35 09)


AFP Get Macintosh Info On Deleted File 0x2222 35 19

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (6) word (Hi-Lo) 9 SubFunctionCode (19) byte 10 VolumeNumber byte 11 DOSDirectoryNumber long (Hi-Lo)

Reply Format

Offset Content Type (reply header) 8 FinderInfo byte[32] 40 ProDOSInfo byte[6] 46 ResourceForkSize long (Hi-Lo) 50 FileNameLen byte 51 FileName byte[FileNameLen]

Completion Code

	0	0x00	Successful
	156	0x9C	Invalid Path
	191	0xBF	Invalid Name Space

Remarks

This call returns the Finder and ProDOS Info structures for a deleted Macintosh directory entry.

See Also
AFP Delete (0x2222 35 3)


AFP Open File Fork 0x2222 35 08

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (9+PathStringLen) word (Hi-Lo) 9 SubFunctionCode (8) byte 10 VolumeNumber byte 11 MacBaseDirectoryID long (Hi-Lo) 15 ForkIndicator (0=data, 1=resource) byte 16 AccessMode byte 17 PathStringLen byte 18 PathModString byte[PathStringLen]

Reply Format

Offset Content Type (reply header) 8 EntryID long (Hi-Lo) 12 ForkLen long (Hi-Lo) 16 NetWareAccessHandle byte[6]

Completion Code

	0	0x00	Successful
	128	0x80	Lock Fail
	129	0x81	Out Of Handles
	131	0x83	Hard I/O Error
	136	0x88	Invalid File Handle
	147	0x93	No Read Privileges
	148	0x94	No Write Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	153	0x99	Directory Full Error
	156	0x9C	Invalid Path
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, Lock Error, No Files Found

Remarks

This call opens an AFP file fork (data fork or resource fork). If a nonexistent file fork is specified, a file fork will automatically be created and opened.

The Access Mode field contains the following bits:

	0x01	Read Access
	0x02	Write Access
	0x04	Deny Read Access
	0x08	Deny Write Access
	0x10	Compatibility Mode Bit (should be set)

AFP Rename 0x2222 35 07

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen word (Hi-Lo) 9 SubFunctionCode (7) byte 10 VolumeNumber byte 11 MacSourceBaseID long (Hi-Lo) 15 MacDestinationBaseID long (Hi-Lo) 19 SourcePathLen byte 20 SourcePathString byte[SourcePathLen] 20+SourcePathLen DestinationPathLen byte 21+SourcePathLen DestinationPathString byte[DestinationPathLen]

* SubFuncStrucLen = 12 + SourcePathLen + DestinationPathLen

Reply Format

Offset Content Type (reply header)

Completion Code

	0	0x00	Successful
	131	0x83	Hard I/O Error
	132	0x84	No Create Privileges
	136	0x88	Invalid File Handle
	139	0x8B	No Rename Privileges
	142	0x8E	All Files In Use
	144	0x90	All Read Only
	146	0x92	All Names Exist
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	153	0x99	Directory Full Error
	156	0x9C	Invalid Path
	158	0x9E	Bad File Name
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, No Files Found

Remarks

This call moves or renames an AFP file or directory. Source Path String must be set to the old directory or filename, and Destination Path String must be set to the new name.

If the file or directory is being renamed but not moved, Destination Base ID should be set to the file's current parent directory, and Destination Path String should be set to the new name of the file (or directory).

If the file or directory is being moved but not renamed, Destination Base ID should be set to the ID of the target directory, and Destination Path Len should be set to 0.

If the file or directory is being moved and renamed, the last item in Destination Path String is used as the new name of the file or directory.


AFP Scan File Information 0x2222 35 10

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (17+PathStringLen) word (Hi-Lo) 9 SubFunctionCode (10) byte 10 VolumeNumber byte 11 MacBaseDirectoryID long (Hi-Lo) 15 MacLastSeenID long (Hi-Lo) 19 DesiredResponseCount word (Hi-Lo) 21 SearchBitMap word (Hi-Lo) 23 RequestBitMap word (Hi-Lo) 25 PathStringLen byte 26 PathModString byte[PathStringLen]

Reply Format

Offset Content Type (reply header) 8 ActualResponseCount word (Hi-Lo) (repeats ActualResponseCount times) 10 EntryID long (Hi-Lo) 14 ParentID long (Hi-Lo) 18 Attributes word (Hi-Lo) 20 DataForkLen long (Hi-Lo) 24 ResourceForkLen long (Hi-Lo) 28 TotalOffspring word (Hi-Lo) 30 CreationDate word (Hi-Lo) 32 AccessDate word (Hi-Lo) 34 ModifyDate word (Hi-Lo) 36 ModifyTime word (Hi-Lo) 38 BackupDate word (Hi-Lo) 40 BackupTime word (Hi-Lo) 42 FinderInfo byte[32] 74 LongName byte[32] 106 OwnerID long (Hi-Lo) 110 ShortName byte[12] 122 AccessPrivileges word (Hi-Lo)

Completion Code

	0	0x00	Successful
	131	0x83	Hard I/O Error
	136	0x88	Invalid File Handle
	147	0x93	No Read Privileges
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	156	0x9C	Invalid Path
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, No Files Found

Remarks

This call returns information about an AFP entry (directory or file). Iterative scanning of a directory is supported, and up to 4 responses per request can be specified in DesiredResponseCount.

To scan all files and subdirectories of a directory, the client should set Mac Last Seen ID to -1L on the first call; for each subsequent call, the client should set Mac Last Seen ID to the Entry ID of the previous call.

If Path Mod String specifies a directory, all entries within the directory that fit the criteria in Search Bit Map and Request Bit Map will be returned.

The bits in the Search Bit Map are defined as follows:

	0x0100	Search For Hidden Files/Directories
	0x0200	Search For System Files/Directories
	0x0400	Search For Subdirectories
	0x0800	Search For Files

The bits in the Request Bit Map are defined as follows:

	0x0100	Return Attributes
	0x0200	Return Parent Directory ID
	0x0400	Return Create Date
	0x0800	Return Access Date
	0x1000	Return Modify Date/Time
	0x2000	Return Backup Date/Time
	0x4000	Return Finder Info
	0x8000	Return Long Name
	0x0001	Return Entry ID
	0x0002	Return Data Fork Length
	0x0004	Return Resource Fork Length
	0x0008	Return Number Of Offspring
	0x0010	Return Owner ID
	0x0020	Return Short Name
	0x0040	Return Access Rights

The following information is returned in the reply message.

The APF Entry ID field contains the Apple equivalent to a 1-byte NetWare directory handle, with one important exception: a NetWare directory handle points to a file server volume or directory; an AFP entry ID points to a file server volume, directory, or file.

The Parent ID field contains the AFP entry ID for the parent directory of the target file or directory.

The Attributes field indicates the attributes of the directory or file. The following bits are defined:

	0x0100	Read Only
	0x0200	Hidden
	0x0400	System
	0x0800	Execute Only
	0x1000	Subdirectory
	0x2000	Archive
	0x4000	Undefined
	0x8000	Shareable File
	0x0001	Search Mode
	0x0002	Search Mode
	0x0004	Search Mode
	0x0008	Undefined
	0x0010	Transaction
	0x0020	Index
	0x0040	Read Audit
	0x0080	Write Audit

The Data Fork Len field indicates the data size of the target AFP file. If the Path Mod String specifies an AFP directory, the Data Fork Len field returns a zero.

The Resource Fork Len field indicates the resource fork size of the target AFP file. If the Path Mod String specifies an AFP directory, the Resource Fork Len field returns a zero.

The Total Offspring field indicates the number of files and subdirectories contained within the specified directory. If the AFP directory or file path specifies an AFP file, the Total Offspring field returns a zero.

The Creation Date field contains the creation date (in AFP format) of the target directory or file.

The Access Date indicates when the target AFP file was last accessed (returned in AFP format). If Path Mod String specifies an AFP directory, the Access Date field returns a zero.

The Modify Date and Modify Time fields contain the last modified date and time (in AFP format) of the target AFP file. If the Path Mod String specifies an AFP directory, these fields return zeros.

The Backup Date and Backup Time fields contain the last backup date and time (in AFP format) of the specified directory or file.

The Finder Info field contains the 32-byte finder information structure associated with each AFP directory or file.

The Long Name field contains the AFP directory or filename of the specified directory or file. An AFP directory or filename can be from 1 to 31 characters long.

The Owner ID field contains the 4-byte bindery object ID of the entity that created or last modified the file.

The Short Name field contains the NetWare directory or filename of the specified directory or file. A NetWare directory or filename is in the DOS "8.3" format.

The Access Privileges field contains a one-word bit mask of the calling station's privileges for accessing the specified file or directory. The Access Privileges field contains the following bits:

	0x0100	Read Privileges (files only)
	0x0200	Write Privileges (files only)
	0x0400	Open Privileges (files only)
	0x0800	Create Privileges (files only)
	0x1000	Delete Privileges (files only)
	0x2000	Parental Privileges (directories only: 
			  create/delete/rename subdirectories)
	0x4000	Search Privileges (directories only)
	0x8000	Modify File Status Flags Privileges (both files and directories)

If the returned object is a file, the bits in the Access Privileges field indicate which rights the caller has in relation to the file. These rights are the rights that the caller has in the file's parent directory, appropriately modified if the file itself has certain rights restrictions (that is, a read-only file would cause the Write and Delete bits to be cleared).

If the returned object is a directory, the bits in the Access Privileges field indicate the rights that the caller has in that directory.

Read the introduction to the Directory Services chapter for a complete discussion of directory and file access rights.

See Also
AFP 2.0 Scan File Information (0x2222 35 17)
AFP Set File Information (0x2222 35 09)


AFP Set File Information 0x2222 35 09

v2.xv3.xv4.xv5.x

Request Format

Offset Content Type (request header) 6 FunctionCode (35) byte 7 SubFuncStrucLen (55+PathStringLen) word (Hi-Lo) 9 SubFunctionCode (9) byte 10 VolumeNumber byte 11 MacBaseDirectoryID long (Hi-Lo) 15 RequestBitMap word (Hi-Lo) 17 Attributes word (Hi-Lo) 19 CreationDate word (Hi-Lo) 21 AccessDate word (Hi-Lo) 23 ModifyDate word (Hi-Lo) 25 ModifyTime word (Hi-Lo) 27 BackupDate word (Hi-Lo) 29 BackupTime word (Hi-Lo) 31 FinderInfo byte[32] 63 PathStringLen byte 64 PathModString byte[PathStringLen]

Reply Format

Offset Content Type (reply header)

Completion Code

	0	0x00	Successful
	1	0x01	Out Of Disk Space
	131	0x83	Hard I/O Error
	136	0x88	Invalid File Handle
	147	0x93	No Read Privileges
	148	0x94	No Write Privileges
	149	0x95	File Detached
	150	0x96	Server Out Of Memory
	152	0x98	Disk Map Error
	156	0x9C	Invalid Path
	161	0xA1	Directory I/O Error
	162	0xA2	I/O Lock Error
	253	0xFD	Bad Station Number
	255	0xFF	Failure, No Files Found

Remarks

This call sets information pertaining to the specified AFP file or directory.

The bits in the Request Bit Map field are interpreted as follows:

	0x0100	Set Attributes
	0x0400	Set Create Date
	0x0800	Set Access Date
	0x1000	Set Modify Date/Time
	0x2000	Set Backup Date/Time
	0x4000	Set Finder Info

The Attributes field indicates the attributes of the directory or file. The following bits are defined:

	0x0100	Read Only
	0x0200	Hidden
	0x0400	System
	0x0800	Execute Only
	0x1000	Subdirectory
	0x2000	Archive
	0x4000	Undefined
	0x8000	Shareable File
	0x0001	Search Mode
	0x0002	Search Mode
	0x0004	Search Mode
	0x0008	Undefined
	0x0010	Transaction
	0x0020	Index
	0x0040	Read Audit
	0x0080	Write Audit

The Creation Date field sets the creation date (in AFP format) of the target directory or file.

The Access Date field sets the date (in AFP format) that the target AFP file was last accessed. This field is ignored for directories.

The Modify Date and Modify Time fields set the date and time (in AFP format) that the target AFP file was last modified. These fields are ignored for directories.

The Backup Date and Backup Time fields set the date and time (in AFP format) that the target AFP file was last backed up.

The Finder Info field sets the 32-bytes of finder information for the specified AFP directory or file.

See Also
AFP Scan File Information (0x2222 35 10)
AFP 2.0 Set File Information (0x2222 35 16)