PBSetForeignPrivsSync
PBSetForeignPrivs Change a file's native access-control information
#include <Files.h> File Manager
OSErr PBSetForeignPrivs(pb, async );
HParmBlkPtr pb ; address of an ParamBlockRec record
Boolean async ; 0=await completion; 1=immediate return
returns Error Code; 0=no error
Use the PBSetForeignPrivs function to change the native access- control
information for a file or directory stored on a volume managed by a foreign
file system.
pb is the address of a ForeignPrivParam structure. The relevant fields
are as follows:
Out-InName Type Size Offset Description
Æ ioCompletion ProcPtr 4 12 Completion routine address (if async
=TRUE)
¨ ioResult short 2 16 Error Code (0=no error, 1=not done yet)
Æ ioNamePtr StringPtr 4 18 pointer to file or directory name
Æ ioVRefNum short 2 22 Volume reference
Æ ioForeignPrivBuffer Ptr 4 32 pointer to privilege info buffer
Æ ioForeignPrivReqCount long 4 36 size allocated for buffer
Æ ioForeignPrivActCount long 4 40 amount of buffer used
Æ ioForeignPrivDirID short 4 48 parent directory ID
Æ ioForeignPrivInfo1 long 4 52 information specific to privilege model
Æ ioForeignPrivInfo2 long 4 56 information specific to privilege model
Æ ioForeignPrivInfo3 long 4 60 information specific to privilege model
Æ ioForeignPrivInfo4 long 4 64 information specific to privilege model
async is a Boolean value. Use FALSE for normal (synchronous) operation
or TRUE to enqueue the request and resume control immediately. See
Async I/O.
Returns: an operating system Error Code. It will be one of:
noErr (0) No error
nsvErr (-35) Volume not found
` paramErr (-50) Volume is HFS or MFS (that is, it has no foreign
privilege model), or foreign volume does not support
these calls

Notes: PBSetForeignPrivs modifies access information for a file or directory
on a volume managed by a file system that uses a privilege model different
from the AFP model.
An obsolete name for this routine is PBGetAltAccess.