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
kAttrIsExpFolderandkAttrInExpFolderflags (0x0002 and 0x0010) returned byFPGetFileDirParmsAdded
kAttrMountedflag (0x0008) returned byFPGetFileDirParmsAdded
kDontAllowSavePwdbit (0x0004) to Flags returned byFPGetSrvrInfoAdded
kSupportsSrvrMsgbit (0x0008) to Flags returned byFPGetSrvrInfoAdded
kHasVolumePasswordbit (0x0002) toVolume Attributes BitmapAdded
kSupportsFileIDsbit (0x0004) toVolume Attributes BitmapAdded
kSupportsCatSearchbit (0x0008) toVolume Attributes BitmapAdded
kSupportsBlankAccessPrivsbit (0x0010) toVolume Attributes Bitmapreturned 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
kSrvrSigbit (0x0010) to Flags returned byFPGetSrvrInfo.Added
kSupportsTCPbit (0x0020) to Flags returned byFPGetSrvrInfo.Added
kSupportsSrvrNotifybit (0x0040) to Flags returned byFPGetSrvrInfo.Added
kFPVolExtBytesFreeBit(0x0200) toVolume Bitmap.Added
kFPVolExtBytesTotalBit(0x0400) toVolume Bitmap.Added
kFPVolBlockSizeBit(0x0800) toVolume Bitmap.The
FPOpenVolcommand now uses the same bitmap as theFPGetVolParmscommand.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 inFPGetSrvrMsgChanged meaning of 0x2000 in
File BitmapfromkFPProDOSInfoBittokFPUTF8NameBitAdded
kFPUnixPrivsBit(0x8000) toFile BitmapAdded
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
kSupportsReconnectbit (0x0080) to Flags returned byFPGetSrvrInfoAdded
kSupportsDirServicesbit (0x0100) to Flags returned byFPGetSrvrInfoAdded
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 BitmapAdded
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 BitmapAdded
kSupportsUUIDs(0x400) toServer Flags BitmapAdded
kNoExchangeFiles(0x200) toVolume Attributes BitmapAdded
kSupportsExtAttrs(0x400) toVolume Attributes BitmapAdded
kSupportsACLs(0x800) toVolume Attributes BitmapAdded subfunction
kUserUUIDToUTF8Name(5) toFPMapIDAdded subfunction
kGroupUUIDToUTF8Name(6) toFPMapIDAdded subfunction
kUTF8NameToUserUUID(5) toFPMapNameAdded 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 BitmapAdded
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