AFP Version Differences
This document as a whole describes the current version of the Apple Filing Protocol. This section provides a list of what commands were added in each AFP version.
For a complete description of the commands themselves, see Apple Filing Protocol Reference.
Missing AFP Command Codes
12 and 13 were missing from Inside AppleTalk and have never been allocated.
38-43 were missing from Inside AppleTalk but were added in AFP 2.1; presumably they were preallocated for System 7.0.
44-47 and 50 were missing from Inside AppleTalk and have never been allocated.
76 was added in AFP 3.2+, but will not be documented.
77 was used in prerelease versions of AFP 3.2+ but was discontinued before GM.
AFP 2.0
This version of the protocol is the version that was initially documented in Inside AppleTalk. The contents of Inside AppleTalk are now split between this document and Apple Filing Protocol Reference.
AFP 2.1
This version was a significant upgrade to accommodate System 7.0.
Added two way random number exchange UAM
Added the notion of blank access privileges
User and group IDs are now interchangeable
Added
FPGetSrvrMsg
(AFP command 38)Added
FPCreateID
(AFP command 39)Added
FPDeleteID
(AFP command 40)Added
FPResolveID
(AFP command 41)Added
FPExchangeFiles
(AFP command 42)Added
FPCatSearch
(AFP command 43)Added
kAttrIsExpFolder
andkAttrInExpFolder
flags (0x0002 and 0x0010) returned byFPGetFileDirParms
Added
kAttrMounted
flag (0x0008) returned byFPGetFileDirParms
Added
kDontAllowSavePwd
bit (0x0004) to Flags returned byFPGetSrvrInfo
Added
kSupportsSrvrMsg
bit (0x0008) to Flags returned byFPGetSrvrInfo
Added
kHasVolumePassword
bit (0x0002) toVolume Attributes Bitmap
Added
kSupportsFileIDs
bit (0x0004) toVolume Attributes Bitmap
Added
kSupportsCatSearch
bit (0x0008) toVolume Attributes Bitmap
Added
kSupportsBlankAccessPrivs
bit (0x0010) toVolume Attributes Bitmap
returned byFPGetVolParms
.Added
kFPIDNotFound
(-5034) error codeAdded
kFPIDExists
(-5035) error codeAdded
kFPDiffVolErr
(-5036) error codeAdded
kFPCatalogChanged
(-5037) error codeAdded
kFPSameObjectErr
(-5038) error codeAdded
kFPBadIDErr
(-5039) error codeAdded
kFPPwdSameErr
(-5040) error codeAdded
kFPPwdTooShortErr
(-5041) error codeAdded
kFPPwdExpiredErr
(-5042) error codeAdded
kFPInsideSharedErr
(-5043) error codeAdded
kFPInsideTrashErr
(-5044) error code
AFP 2.2
Added support for AFP over TCP.
Added
kSrvrSig
bit (0x0010) to Flags returned byFPGetSrvrInfo
.Added
kSupportsTCP
bit (0x0020) to Flags returned byFPGetSrvrInfo
.Added
kSupportsSrvrNotify
bit (0x0040) to Flags returned byFPGetSrvrInfo
.Added
kFPVolExtBytesFreeBit
(0x0200) toVolume Bitmap
.Added
kFPVolExtBytesTotalBit
(0x0400) toVolume Bitmap
.Added
kFPVolBlockSizeBit
(0x0800) toVolume Bitmap
.The
FPOpenVol
command now uses the same bitmap as theFPGetVolParms
command.Added attention mechanism.
Added
kFPPwdNeedsChangeErr
(-5045) error code.
AFP 3.0
Introduced in OS X v.10.0 and also used in v.10.1, AFP 3.0 includes major changes to support OS X.
Support for UTF-8 names almost everywhere.
Support for files of 2 GB or more.
Support for UNIX privileges.
Support for reconnect.
Support for Open Directory-based servers.
Added "DHCAST128" UAM, later backported to classic Mac OS.
Added
kFPUTF8Name
(3) path typeAdded subfunction
kUserIDToUTF8Name
(3) to FPMapIDAdded subfunction
kGroupIDToUTF8Name
(4) to FPMapIDAdded subfunction
kUTF8NameToUserID
(1) to FPMapNameAdded subfunction
kUTF8NameToGroupID
(2) to FPMapNameAdded
kUTF8SrvrMsg
(0x0002) to the MessageBitmap inFPGetSrvrMsg
Changed meaning of 0x2000 in
File Bitmap
fromkFPProDOSInfoBit
tokFPUTF8NameBit
Added
kFPUnixPrivsBit
(0x8000) toFile Bitmap
Added
FPReadExt
(AFP command 60)Added
FPWriteExt
(AFP command 61)Added
FPEnumerateExt
(AFP command 66)Added
FPByteRangeLockExt
(AFP command 59)Added
FPCatSearchExt
(AFP command 67)Added
FPGetAuthMethods
(AFP command 62)Added
FPLoginExt
(AFP command 63)Added
FPGetSessionToken
(AFP command 64)Added
kLoginWithID
(1) session token typeAdded
FPDisconnectOldSession
(AFP command 65)Added
kSupportsReconnect
bit (0x0080) to Flags returned byFPGetSrvrInfo
Added
kSupportsDirServices
bit (0x0100) to Flags returned byFPGetSrvrInfo
Added
kFPPwdPolicyErr
(-5046) error code
AFP 3.1
Introduced in OS X v10.2, AFP 3.1 was a relatively minor release to tidy up some nagging OS X issues.
Added "DHX2" UAM
Added "Client Krb v2" UAM
Added
kFPDiskQuotaExceeded
(-5047) error codeAdded
FPEnumerateExt2
(AFP command 68)Added
kNoNetworkUserIDs
(0x80) toVolume Attributes Bitmap
.Added
kReconnWithID
(2) session token typeAdded
kLoginWithTimeAndID
(3) session token typeAdded
kReconnWithTimeAndID
(4) session token type
AFP 3.1+
Introduced in OS X v.10.3, AFP 3.1+ added additional reconnection functionality and additional Kerberos support.
Added "Recon1" UAM.
Added
kDefaultPrivsFromParent
(0x100) toVolume Attributes Bitmap
Added
kRecon1Login
(5) session token typeAdded
kRecon1ReconnectLogin
(6) session token typeAdded
kRecon1RefreshToken
(7) session token typeAdded
kGetKerberosSessionKey
(8) session token type
AFP 3.2
Introduced in OS X v10.4, AFP 3.2 added support for ACLs and extended attributes.
Added
FPGetExtAttr
(AFP command 69)Added
FPSetExtAttr
(AFP command 70)Added
FPRemoveExtAttr
(AFP command 71)Added
FPListExtAttrs
(AFP command 72)Added
FPGetACL
(AFP command 73)Added
FPSetACL
(AFP command 74)Added
FPAccess
(AFP command 75)Added
kSupportsUTF8SrvrName
(0x200) toServer Flags Bitmap
Added
kSupportsUUIDs
(0x400) toServer Flags Bitmap
Added
kNoExchangeFiles
(0x200) toVolume Attributes Bitmap
Added
kSupportsExtAttrs
(0x400) toVolume Attributes Bitmap
Added
kSupportsACLs
(0x800) toVolume Attributes Bitmap
Added subfunction
kUserUUIDToUTF8Name
(5) toFPMapID
Added subfunction
kGroupUUIDToUTF8Name
(6) toFPMapID
Added subfunction
kUTF8NameToUserUUID
(5) toFPMapName
Added subfunction
kUTF8NameToGroupUUID
(6) toFPMapName
AFP 3.2+
Introduced in OS X v10.5, AFP 3.2+ added better synchronization support for Time Machine.
Added
FPSpotlightRPC
(AFP command 76) for private Apple useAdded
FPSyncDir
(AFP command 78)Added
FPSyncFork
(AFP command 79)Added
kSupportsExtSleep
(0x800) toServer Flags Bitmap
Added
kCaseSensitive
(0x1000) toVolume Attributes Bitmap
AFP 3.3
Introduced in OS X v10.6. Mandates support for the AFP replay cache (described in AFP Replay Cache).
AFP 3.4
Introduced in OS X v10.8. Changes the error code mapping so that the POSIX error code ENOATTR
maps onto the kFPItemNotFound
AFP error code. (In previous versions, an ENOATTR
on the server side produced a kFPMiscErr
AFP error code.)
Copyright © 2012 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2012-12-13