home *** CD-ROM | disk | FTP | other *** search
/ MacFormat España 14 / MacFormat n. 14 (Spain) / MacFormat 14.bin / C de cerca / Codewarrior Lite / MacOS Support / Headers / Universal Headers / Files.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-06  |  70.3 KB  |  2,402 lines

  1. /*
  2.      File:        Files.h
  3.  
  4.      Contains:    File Manager (HFS and MFS) Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. */
  19.  
  20. #ifndef __FILES__
  21. #define __FILES__
  22.  
  23.  
  24. #ifndef __TYPES__
  25. #include <Types.h>
  26. #endif
  27. /*    #include <ConditionalMacros.h>                                */
  28.  
  29. #ifndef __MIXEDMODE__
  30. #include <MixedMode.h>
  31. #endif
  32.  
  33. #ifndef __OSUTILS__
  34. #include <OSUtils.h>
  35. #endif
  36. /*    #include <Memory.h>                                            */
  37. #if !OLDROUTINELOCATIONS
  38.  
  39. #ifndef __FINDER__
  40. #include <Finder.h>
  41. #endif
  42. #endif
  43.  
  44. #ifdef __cplusplus
  45. extern "C" {
  46. #endif
  47.  
  48. #if PRAGMA_ALIGN_SUPPORTED
  49. #pragma options align=mac68k
  50. #endif
  51.  
  52. #if PRAGMA_IMPORT_SUPPORTED
  53. #pragma import on
  54. #endif
  55.  
  56.  
  57. enum {
  58.     fsAtMark                    = 0,
  59.     fsCurPerm                    = 0,
  60.     fsRdPerm                    = 1,
  61.     fInvisible                    = 16384,
  62.     fsWrPerm                    = 2,
  63.     fsRdWrPerm                    = 3,
  64.     fsRdWrShPerm                = 4,
  65.     fsFromStart                    = 1,
  66.     fsFromLEOF                    = 2,
  67.     fsFromMark                    = 3,
  68.     rdVerify                    = 64,
  69.     ioMapBuffer                    = 4,
  70.     ioModeReserved                = 8,
  71.     ioDirFlg                    = 4,                            /* see IM IV-125 */
  72.     ioDirMask                    = 0x10,
  73.     fsRtParID                    = 1,
  74.     fsRtDirID                    = 2
  75. };
  76.  
  77. #if OLDROUTINELOCATIONS
  78. enum {
  79.     fOnDesk                        = 1,
  80.     fHasBundle                    = 8192,
  81.     fTrash                        = -3,
  82.     fDesktop                    = -2,
  83.     fDisk                        = 0
  84. };
  85.  
  86. #endif
  87. enum {
  88. /* CatSearch SearchBits Constants */
  89.     fsSBPartialName                = 1,
  90.     fsSBFullName                = 2,
  91.     fsSBFlAttrib                = 4,
  92.     fsSBFlFndrInfo                = 8,
  93.     fsSBFlLgLen                    = 32,
  94.     fsSBFlPyLen                    = 64,
  95.     fsSBFlRLgLen                = 128,
  96.     fsSBFlRPyLen                = 256,
  97.     fsSBFlCrDat                    = 512,
  98.     fsSBFlMdDat                    = 1024,
  99.     fsSBFlBkDat                    = 2048,
  100.     fsSBFlXFndrInfo                = 4096,
  101.     fsSBFlParID                    = 8192,
  102.     fsSBNegate                    = 16384,
  103.     fsSBDrUsrWds                = 8,
  104.     fsSBDrNmFls                    = 16,
  105.     fsSBDrCrDat                    = 512,
  106.     fsSBDrMdDat                    = 1024,
  107.     fsSBDrBkDat                    = 2048,
  108.     fsSBDrFndrInfo                = 4096,
  109. /* bit values for the above */
  110.     fsSBPartialNameBit            = 0,                            /*ioFileName points to a substring*/
  111.     fsSBFullNameBit                = 1,                            /*ioFileName points to a match string*/
  112.     fsSBFlAttribBit                = 2,                            /*search includes file attributes*/
  113.     fsSBFlFndrInfoBit            = 3,                            /*search includes finder info*/
  114.     fsSBFlLgLenBit                = 5,                            /*search includes data logical length*/
  115.     fsSBFlPyLenBit                = 6,                            /*search includes data physical length*/
  116.     fsSBFlRLgLenBit                = 7,                            /*search includes resource logical length*/
  117.     fsSBFlRPyLenBit                = 8,                            /*search includes resource physical length*/
  118.     fsSBFlCrDatBit                = 9,                            /*search includes create date*/
  119.     fsSBFlMdDatBit                = 10,                            /*search includes modification date*/
  120.     fsSBFlBkDatBit                = 11,                            /*search includes backup date*/
  121.     fsSBFlXFndrInfoBit            = 12,                            /*search includes extended finder info*/
  122.     fsSBFlParIDBit                = 13,                            /*search includes file's parent ID*/
  123.     fsSBNegateBit                = 14,                            /*return all non-matches*/
  124.     fsSBDrUsrWdsBit                = 3,                            /*search includes directory finder info*/
  125.     fsSBDrNmFlsBit                = 4,                            /*search includes directory valence*/
  126.     fsSBDrCrDatBit                = 9,                            /*directory-named version of fsSBFlCrDatBit*/
  127.     fsSBDrMdDatBit                = 10,                            /*directory-named version of fsSBFlMdDatBit*/
  128.     fsSBDrBkDatBit                = 11,                            /*directory-named version of fsSBFlBkDatBit*/
  129.     fsSBDrFndrInfoBit            = 12                            /*directory-named version of fsSBFlXFndrInfoBit*/
  130. };
  131.  
  132. enum {
  133.     fsSBDrParID                    = 8192,
  134.     fsSBDrParIDBit                = 13,                            /*directory-named version of fsSBFlParIDBit*/
  135. /* vMAttrib (GetVolParms) bit position constants */
  136.     bLimitFCBs                    = 31,
  137.     bLocalWList                    = 30,
  138.     bNoMiniFndr                    = 29,
  139.     bNoVNEdit                    = 28,
  140.     bNoLclSync                    = 27,
  141.     bTrshOffLine                = 26,
  142.     bNoSwitchTo                    = 25,
  143.     bNoDeskItems                = 20,
  144.     bNoBootBlks                    = 19,
  145.     bAccessCntl                    = 18,
  146.     bNoSysDir                    = 17,
  147.     bHasExtFSVol                = 16,
  148.     bHasOpenDeny                = 15,
  149.     bHasCopyFile                = 14,
  150.     bHasMoveRename                = 13,
  151.     bHasDesktopMgr                = 12,
  152.     bHasShortName                = 11,
  153.     bHasFolderLock                = 10,
  154.     bHasPersonalAccessPrivileges = 9
  155. };
  156.  
  157. enum {
  158.     bHasUserGroupList            = 8,
  159.     bHasCatSearch                = 7,
  160.     bHasFileIDs                    = 6,
  161.     bHasBTreeMgr                = 5,
  162.     bHasBlankAccessPrivileges    = 4,
  163. /* Desktop Database icon Constants */
  164.     kLargeIcon                    = 1,
  165.     kLarge4BitIcon                = 2,
  166.     kLarge8BitIcon                = 3,
  167.     kSmallIcon                    = 4,
  168.     kSmall4BitIcon                = 5,
  169.     kSmall8BitIcon                = 6,
  170.     kLargeIconSize                = 256,
  171.     kLarge4BitIconSize            = 512,
  172.     kLarge8BitIconSize            = 1024,
  173.     kSmallIconSize                = 64,
  174.     kSmall4BitIconSize            = 128,
  175.     kSmall8BitIconSize            = 256,
  176. /* Foreign Privilege Model Identifiers */
  177.     fsUnixPriv                    = 1,
  178. /* Version Release Stage Codes */
  179.     developStage                = 0x20,
  180.     alphaStage                    = 0x40
  181. };
  182.  
  183. enum {
  184.     betaStage                    = 0x60,
  185.     finalStage                    = 0x80,
  186. /* Authentication Constants */
  187.     kNoUserAuthentication        = 1,
  188.     kPassword                    = 2,
  189.     kEncryptPassword            = 3,
  190.     kTwoWayEncryptPassword        = 6
  191. };
  192.  
  193. enum {
  194.     hFileInfo,
  195.     dirInfo
  196. };
  197.  
  198. typedef SInt8 CInfoType;
  199.  
  200. /* mapping codes (ioObjType) for MapName & MapID */
  201.  
  202. enum {
  203.     kOwnerID2Name                = 1,
  204.     kGroupID2Name                = 2,
  205.     kOwnerName2ID                = 3,
  206.     kGroupName2ID                = 4,
  207. /* types of oj object to be returned (ioObjType) for _GetUGEntry */
  208.     kReturnNextUser                = 1,
  209.     kReturnNextGroup            = 2,
  210.     kReturnNextUG                = 3
  211. };
  212.  
  213. #if OLDROUTINELOCATIONS
  214. /*
  215.     The following structures are being moved to Finder.i because
  216.     they are Finder centric.  See Finder constants above.
  217. */
  218. struct FInfo {
  219.     OSType                            fdType;                        /*the type of the file*/
  220.     OSType                            fdCreator;                    /*file's creator*/
  221.     unsigned short                    fdFlags;                    /*flags ex. hasbundle,invisible,locked, etc.*/
  222.     Point                            fdLocation;                    /*file's location in folder*/
  223.     short                            fdFldr;                        /*folder containing file*/
  224. };
  225. typedef struct FInfo FInfo;
  226.  
  227. struct FXInfo {
  228.     short                            fdIconID;                    /*Icon ID*/
  229.     short                            fdUnused[3];                /*unused but reserved 6 bytes*/
  230.     SInt8                            fdScript;                    /*Script flag and number*/
  231.     SInt8                            fdXFlags;                    /*More flag bits*/
  232.     short                            fdComment;                    /*Comment ID*/
  233.     long                            fdPutAway;                    /*Home Dir ID*/
  234. };
  235. typedef struct FXInfo FXInfo;
  236.  
  237. struct DInfo {
  238.     Rect                            frRect;                        /*folder rect*/
  239.     unsigned short                    frFlags;                    /*Flags*/
  240.     Point                            frLocation;                    /*folder location*/
  241.     short                            frView;                        /*folder view*/
  242. };
  243. typedef struct DInfo DInfo;
  244.  
  245. struct DXInfo {
  246.     Point                            frScroll;                    /*scroll position*/
  247.     long                            frOpenChain;                /*DirID chain of open folders*/
  248.     SInt8                            frScript;                    /*Script flag and number*/
  249.     SInt8                            frXFlags;                    /*More flag bits*/
  250.     short                            frComment;                    /*comment*/
  251.     long                            frPutAway;                    /*DirID*/
  252. };
  253. typedef struct DXInfo DXInfo;
  254.  
  255. #endif
  256. struct GetVolParmsInfoBuffer {
  257.     short                            vMVersion;                    /*version number*/
  258.     long                            vMAttrib;                    /*bit vector of attributes (see vMAttrib constants)*/
  259.     Handle                            vMLocalHand;                /*handle to private data*/
  260.     long                            vMServerAdr;                /*AppleTalk server address or zero*/
  261.     long                            vMVolumeGrade;                /*approx. speed rating or zero if unrated*/
  262.     short                            vMForeignPrivID;            /*foreign privilege model supported or zero if none*/
  263. };
  264. typedef struct GetVolParmsInfoBuffer GetVolParmsInfoBuffer;
  265.  
  266. typedef union ParamBlockRec ParamBlockRec;
  267.  
  268. typedef ParamBlockRec *ParmBlkPtr;
  269.  
  270. /*
  271.         IOCompletionProcPtr uses register based parameters on the 68k and cannot
  272.         be written in or called from a high-level language without the help of
  273.         mixed mode or assembly glue.
  274.  
  275.             typedef pascal void (*IOCompletionProcPtr)(ParmBlkPtr paramBlock);
  276.  
  277.         In:
  278.          => paramBlock      A0.L
  279. */
  280.  
  281. #if GENERATINGCFM
  282. typedef UniversalProcPtr IOCompletionUPP;
  283. #else
  284. typedef Register68kProcPtr IOCompletionUPP;
  285. #endif
  286.  
  287. struct IOParam {
  288.     QElemPtr                        qLink;
  289.     short                            qType;
  290.     short                            ioTrap;
  291.     Ptr                                ioCmdAddr;
  292.     IOCompletionUPP                    ioCompletion;
  293.     OSErr                            ioResult;
  294.     StringPtr                        ioNamePtr;
  295.     short                            ioVRefNum;
  296.     short                            ioRefNum;
  297.     SInt8                            ioVersNum;
  298.     SInt8                            ioPermssn;
  299.     Ptr                                ioMisc;
  300.     Ptr                                ioBuffer;
  301.     long                            ioReqCount;
  302.     long                            ioActCount;
  303.     short                            ioPosMode;
  304.     long                            ioPosOffset;
  305. };
  306. typedef struct IOParam IOParam, *IOParamPtr;
  307.  
  308. struct FileParam {
  309.     QElemPtr                        qLink;
  310.     short                            qType;
  311.     short                            ioTrap;
  312.     Ptr                                ioCmdAddr;
  313.     IOCompletionUPP                    ioCompletion;
  314.     OSErr                            ioResult;
  315.     StringPtr                        ioNamePtr;
  316.     short                            ioVRefNum;
  317.     short                            ioFRefNum;
  318.     SInt8                            ioFVersNum;
  319.     SInt8                            filler1;
  320.     short                            ioFDirIndex;
  321.     SInt8                            ioFlAttrib;
  322.     SInt8                            ioFlVersNum;
  323.     FInfo                            ioFlFndrInfo;
  324.     unsigned long                    ioFlNum;
  325.     unsigned short                    ioFlStBlk;
  326.     long                            ioFlLgLen;
  327.     long                            ioFlPyLen;
  328.     unsigned short                    ioFlRStBlk;
  329.     long                            ioFlRLgLen;
  330.     long                            ioFlRPyLen;
  331.     unsigned long                    ioFlCrDat;
  332.     unsigned long                    ioFlMdDat;
  333. };
  334. typedef struct FileParam FileParam, *FileParamPtr;
  335.  
  336. struct VolumeParam {
  337.     QElemPtr                        qLink;
  338.     short                            qType;
  339.     short                            ioTrap;
  340.     Ptr                                ioCmdAddr;
  341.     IOCompletionUPP                    ioCompletion;
  342.     OSErr                            ioResult;
  343.     StringPtr                        ioNamePtr;
  344.     short                            ioVRefNum;
  345.     long                            filler2;
  346.     short                            ioVolIndex;
  347.     unsigned long                    ioVCrDate;
  348.     unsigned long                    ioVLsBkUp;
  349.     unsigned short                    ioVAtrb;
  350.     unsigned short                    ioVNmFls;
  351.     unsigned short                    ioVDirSt;
  352.     short                            ioVBlLn;
  353.     unsigned short                    ioVNmAlBlks;
  354.     long                            ioVAlBlkSiz;
  355.     long                            ioVClpSiz;
  356.     unsigned short                    ioAlBlSt;
  357.     unsigned long                    ioVNxtFNum;
  358.     unsigned short                    ioVFrBlk;
  359. };
  360. typedef struct VolumeParam VolumeParam, *VolumeParamPtr;
  361.  
  362. struct CntrlParam {
  363.     QElemPtr                        qLink;
  364.     short                            qType;
  365.     short                            ioTrap;
  366.     Ptr                                ioCmdAddr;
  367.     IOCompletionUPP                    ioCompletion;
  368.     OSErr                            ioResult;
  369.     StringPtr                        ioNamePtr;
  370.     short                            ioVRefNum;
  371.     short                            ioCRefNum;
  372.     short                            csCode;
  373.     short                            csParam[11];
  374. };
  375. typedef struct CntrlParam CntrlParam, *CntrlParamPtr;
  376.  
  377. struct SlotDevParam {
  378.     QElemPtr                        qLink;
  379.     short                            qType;
  380.     short                            ioTrap;
  381.     Ptr                                ioCmdAddr;
  382.     IOCompletionUPP                    ioCompletion;
  383.     OSErr                            ioResult;
  384.     StringPtr                        ioNamePtr;
  385.     short                            ioVRefNum;
  386.     short                            ioSRefNum;
  387.     SInt8                            ioSVersNum;
  388.     SInt8                            ioSPermssn;
  389.     Ptr                                ioSMix;
  390.     short                            ioSFlags;
  391.     SInt8                            ioSlot;
  392.     SInt8                            ioID;
  393. };
  394. typedef struct SlotDevParam SlotDevParam, *SlotDevParamPtr;
  395.  
  396. struct MultiDevParam {
  397.     QElemPtr                        qLink;
  398.     short                            qType;
  399.     short                            ioTrap;
  400.     Ptr                                ioCmdAddr;
  401.     IOCompletionUPP                    ioCompletion;
  402.     OSErr                            ioResult;
  403.     StringPtr                        ioNamePtr;
  404.     short                            ioVRefNum;
  405.     short                            ioMRefNum;
  406.     SInt8                            ioMVersNum;
  407.     SInt8                            ioMPermssn;
  408.     Ptr                                ioMMix;
  409.     short                            ioMFlags;
  410.     Ptr                                ioSEBlkPtr;
  411. };
  412. typedef struct MultiDevParam MultiDevParam, *MultiDevParamPtr;
  413.  
  414. union ParamBlockRec {
  415.     IOParam                            ioParam;
  416.     FileParam                        fileParam;
  417.     VolumeParam                        volumeParam;
  418.     CntrlParam                        cntrlParam;
  419.     SlotDevParam                    slotDevParam;
  420.     MultiDevParam                    multiDevParam;
  421. };
  422. struct HFileInfo {
  423.     QElemPtr                        qLink;
  424.     short                            qType;
  425.     short                            ioTrap;
  426.     Ptr                                ioCmdAddr;
  427.     IOCompletionUPP                    ioCompletion;
  428.     OSErr                            ioResult;
  429.     StringPtr                        ioNamePtr;
  430.     short                            ioVRefNum;
  431.     short                            ioFRefNum;
  432.     SInt8                            ioFVersNum;
  433.     SInt8                            filler1;
  434.     short                            ioFDirIndex;
  435.     SInt8                            ioFlAttrib;
  436.     SInt8                            ioACUser;
  437.     FInfo                            ioFlFndrInfo;
  438.     long                            ioDirID;
  439.     unsigned short                    ioFlStBlk;
  440.     long                            ioFlLgLen;
  441.     long                            ioFlPyLen;
  442.     unsigned short                    ioFlRStBlk;
  443.     long                            ioFlRLgLen;
  444.     long                            ioFlRPyLen;
  445.     unsigned long                    ioFlCrDat;
  446.     unsigned long                    ioFlMdDat;
  447.     unsigned long                    ioFlBkDat;
  448.     FXInfo                            ioFlXFndrInfo;
  449.     long                            ioFlParID;
  450.     long                            ioFlClpSiz;
  451. };
  452. typedef struct HFileInfo HFileInfo;
  453.  
  454. struct DirInfo {
  455.     QElemPtr                        qLink;
  456.     short                            qType;
  457.     short                            ioTrap;
  458.     Ptr                                ioCmdAddr;
  459.     IOCompletionUPP                    ioCompletion;
  460.     OSErr                            ioResult;
  461.     StringPtr                        ioNamePtr;
  462.     short                            ioVRefNum;
  463.     short                            ioFRefNum;
  464.     SInt8                            ioFVersNum;
  465.     SInt8                            filler1;
  466.     short                            ioFDirIndex;
  467.     SInt8                            ioFlAttrib;
  468.     SInt8                            ioACUser;
  469.     DInfo                            ioDrUsrWds;
  470.     long                            ioDrDirID;
  471.     unsigned short                    ioDrNmFls;
  472.     short                            filler3[9];
  473.     unsigned long                    ioDrCrDat;
  474.     unsigned long                    ioDrMdDat;
  475.     unsigned long                    ioDrBkDat;
  476.     DXInfo                            ioDrFndrInfo;
  477.     long                            ioDrParID;
  478. };
  479. typedef struct DirInfo DirInfo;
  480.  
  481. union CInfoPBRec {
  482.     HFileInfo                        hFileInfo;
  483.     DirInfo                            dirInfo;
  484. };
  485. typedef union CInfoPBRec CInfoPBRec, *CInfoPBPtr;
  486.  
  487. struct CatPositionRec {
  488.     long                            initialize;
  489.     short                            priv[6];
  490. };
  491. typedef struct CatPositionRec CatPositionRec;
  492.  
  493. struct FSSpec {
  494.     short                            vRefNum;
  495.     long                            parID;
  496.     Str63                            name;
  497. };
  498. typedef struct FSSpec FSSpec;
  499.  
  500. typedef FSSpec *FSSpecPtr, **FSSpecHandle;
  501.  
  502. /* pointer to array of FSSpecs */
  503. typedef FSSpecPtr FSSpecArrayPtr;
  504.  
  505. /* The only difference between "const FSSpec*" and "ConstFSSpecPtr" is 
  506.    that as a parameter, ConstFSSpecPtr is allowed to be NULL */
  507. typedef const FSSpec *ConstFSSpecPtr;
  508.  
  509. /* The following are structures to be filled out with the _GetVolMountInfo call
  510.  and passed back into the _VolumeMount call for external file system mounts. */
  511. /* the "signature" of the file system */
  512. typedef OSType VolumeType;
  513.  
  514.  
  515. enum {
  516. /* the signature for AppleShare */
  517.     AppleShareMediaType            = 'afpm'
  518. };
  519.  
  520. #if !OLDROUTINELOCATIONS
  521. struct VolMountInfoHeader {
  522.     short                            length;                        /* length of location data (including self) */
  523.     VolumeType                        media;                        /* type of media.  Variable length data follows */
  524. };
  525. typedef struct VolMountInfoHeader VolMountInfoHeader;
  526.  
  527. typedef VolMountInfoHeader *VolMountInfoPtr;
  528.  
  529. /* The new volume mount info record.  The old one is included for compatibility. 
  530.     the new record allows access by foriegn filesystems writers to the flags 
  531.     portion of the record. This portion is now public.  */
  532. struct VolumeMountInfoHeader {
  533.     short                            length;                        /* length of location data (including self) */
  534.     VolumeType                        media;                        /* type of media (must be registered with Apple) */
  535.     short                            flags;                        /* volume mount flags. Variable length data follows */
  536. };
  537. typedef struct VolumeMountInfoHeader VolumeMountInfoHeader;
  538.  
  539. typedef VolumeMountInfoHeader *VolumeMountInfoHeaderPtr;
  540.  
  541. /*    additional volume mount flags */
  542.  
  543. enum {
  544.     volMountInteractBit            = 15,                            /* Input to VolumeMount: If set, it's OK for the file system */
  545.     volMountInteractMask        = 0x8000,                        /* to perform user interaction to mount the volume */
  546.     volMountChangedBit            = 14,                            /* Output from VoumeMount: If set, the volume was mounted, but */
  547.     volMountChangedMask            = 0x4000,                        /* the volume mounting information record needs to be updated. */
  548.     volMountFSReservedMask        = 0x00ff,                        /* bits 0-7 are defined by each file system for its own use */
  549.     volMountSysReservedMask        = 0xff00                        /* bits 8-15 are reserved for Apple system use */
  550. };
  551.  
  552. #endif
  553. struct AFPVolMountInfo {
  554.     short                            length;                        /* length of location data (including self) */
  555.     VolumeType                        media;                        /* type of media */
  556.     short                            flags;                        /* bits for no messages, no reconnect */
  557.     SInt8                            nbpInterval;                /* NBP Interval parameter (IM2, p.322) */
  558.     SInt8                            nbpCount;                    /* NBP Interval parameter (IM2, p.322) */
  559.     short                            uamType;                    /* User Authentication Method */
  560.     short                            zoneNameOffset;                /* short positive offset from start of struct to Zone Name */
  561.     short                            serverNameOffset;            /* offset to pascal Server Name string */
  562.     short                            volNameOffset;                /* offset to pascal Volume Name string */
  563.     short                            userNameOffset;                /* offset to pascal User Name string */
  564.     short                            userPasswordOffset;            /* offset to pascal User Password string */
  565.     short                            volPasswordOffset;            /* offset to pascal Volume Password string */
  566.     char                            AFPData[144];                /* variable length data may follow */
  567. };
  568. typedef struct AFPVolMountInfo AFPVolMountInfo;
  569.  
  570. typedef AFPVolMountInfo *AFPVolMountInfoPtr;
  571.  
  572. struct DTPBRec {
  573.     QElemPtr                        qLink;
  574.     short                            qType;
  575.     short                            ioTrap;
  576.     Ptr                                ioCmdAddr;
  577.     IOCompletionUPP                    ioCompletion;
  578.     OSErr                            ioResult;
  579.     StringPtr                        ioNamePtr;
  580.     short                            ioVRefNum;
  581.     short                            ioDTRefNum;                    /* desktop refnum */
  582.     short                            ioIndex;
  583.     long                            ioTagInfo;
  584.     Ptr                                ioDTBuffer;
  585.     long                            ioDTReqCount;
  586.     long                            ioDTActCount;
  587.     SInt8                            ioFiller1;
  588.     SInt8                            ioIconType;
  589.     short                            ioFiller2;
  590.     long                            ioDirID;
  591.     OSType                            ioFileCreator;
  592.     OSType                            ioFileType;
  593.     long                            ioFiller3;
  594.     long                            ioDTLgLen;
  595.     long                            ioDTPyLen;
  596.     short                            ioFiller4[14];
  597.     long                            ioAPPLParID;
  598. };
  599. typedef struct DTPBRec DTPBRec;
  600.  
  601. typedef DTPBRec *DTPBPtr;
  602.  
  603. struct HIOParam {
  604.     QElemPtr                        qLink;
  605.     short                            qType;
  606.     short                            ioTrap;
  607.     Ptr                                ioCmdAddr;
  608.     IOCompletionUPP                    ioCompletion;
  609.     OSErr                            ioResult;
  610.     StringPtr                        ioNamePtr;
  611.     short                            ioVRefNum;
  612.     short                            ioRefNum;
  613.     SInt8                            ioVersNum;
  614.     SInt8                            ioPermssn;
  615.     Ptr                                ioMisc;
  616.     Ptr                                ioBuffer;
  617.     long                            ioReqCount;
  618.     long                            ioActCount;
  619.     short                            ioPosMode;
  620.     long                            ioPosOffset;
  621. };
  622. typedef struct HIOParam HIOParam, *HIOParamPtr;
  623.  
  624. struct HFileParam {
  625.     QElemPtr                        qLink;
  626.     short                            qType;
  627.     short                            ioTrap;
  628.     Ptr                                ioCmdAddr;
  629.     IOCompletionUPP                    ioCompletion;
  630.     OSErr                            ioResult;
  631.     StringPtr                        ioNamePtr;
  632.     short                            ioVRefNum;
  633.     short                            ioFRefNum;
  634.     SInt8                            ioFVersNum;
  635.     SInt8                            filler1;
  636.     short                            ioFDirIndex;
  637.     SInt8                            ioFlAttrib;
  638.     SInt8                            ioFlVersNum;
  639.     FInfo                            ioFlFndrInfo;
  640.     long                            ioDirID;
  641.     unsigned short                    ioFlStBlk;
  642.     long                            ioFlLgLen;
  643.     long                            ioFlPyLen;
  644.     unsigned short                    ioFlRStBlk;
  645.     long                            ioFlRLgLen;
  646.     long                            ioFlRPyLen;
  647.     unsigned long                    ioFlCrDat;
  648.     unsigned long                    ioFlMdDat;
  649. };
  650. typedef struct HFileParam HFileParam, *HFileParamPtr;
  651.  
  652. struct HVolumeParam {
  653.     QElemPtr                        qLink;
  654.     short                            qType;
  655.     short                            ioTrap;
  656.     Ptr                                ioCmdAddr;
  657.     IOCompletionUPP                    ioCompletion;
  658.     OSErr                            ioResult;
  659.     StringPtr                        ioNamePtr;
  660.     short                            ioVRefNum;
  661.     long                            filler2;
  662.     short                            ioVolIndex;
  663.     unsigned long                    ioVCrDate;
  664.     unsigned long                    ioVLsMod;
  665.     short                            ioVAtrb;
  666.     unsigned short                    ioVNmFls;
  667.     short                            ioVBitMap;
  668.     short                            ioAllocPtr;
  669.     unsigned short                    ioVNmAlBlks;
  670.     long                            ioVAlBlkSiz;
  671.     long                            ioVClpSiz;
  672.     short                            ioAlBlSt;
  673.     long                            ioVNxtCNID;
  674.     unsigned short                    ioVFrBlk;
  675.     unsigned short                    ioVSigWord;
  676.     short                            ioVDrvInfo;
  677.     short                            ioVDRefNum;
  678.     short                            ioVFSID;
  679.     unsigned long                    ioVBkUp;
  680.     unsigned short                    ioVSeqNum;
  681.     long                            ioVWrCnt;
  682.     long                            ioVFilCnt;
  683.     long                            ioVDirCnt;
  684.     long                            ioVFndrInfo[8];
  685. };
  686. typedef struct HVolumeParam HVolumeParam, *HVolumeParamPtr;
  687.  
  688.  
  689. enum {
  690. /* Large Volume Constants */
  691.     kWidePosOffsetBit            = 8,
  692.     kMaximumBlocksIn4GB            = 0x007FFFFF
  693. };
  694.  
  695. struct XIOParam {
  696.     QElemPtr                        qLink;
  697.     short                            qType;
  698.     short                            ioTrap;
  699.     Ptr                                ioCmdAddr;
  700.     IOCompletionUPP                    ioCompletion;
  701.     OSErr                            ioResult;
  702.     StringPtr                        ioNamePtr;
  703.     short                            ioVRefNum;
  704.     short                            ioRefNum;
  705.     SInt8                            ioVersNum;
  706.     SInt8                            ioPermssn;
  707.     Ptr                                ioMisc;
  708.     Ptr                                ioBuffer;
  709.     long                            ioReqCount;
  710.     long                            ioActCount;
  711.     short                            ioPosMode;                    /* must have kUseWidePositioning bit set */
  712.     wide                            ioWPosOffset;                /* wide positioning offset */
  713. };
  714. typedef struct XIOParam XIOParam, *XIOParamPtr;
  715.  
  716. struct XVolumeParam {
  717.     QElemPtr                        qLink;
  718.     short                            qType;
  719.     short                            ioTrap;
  720.     Ptr                                ioCmdAddr;
  721.     IOCompletionUPP                    ioCompletion;
  722.     OSErr                            ioResult;
  723.     StringPtr                        ioNamePtr;
  724.     short                            ioVRefNum;
  725.     unsigned long                    ioXVersion;                    /* this XVolumeParam version (0) */
  726.     short                            ioVolIndex;
  727.     unsigned long                    ioVCrDate;
  728.     unsigned long                    ioVLsMod;
  729.     short                            ioVAtrb;
  730.     unsigned short                    ioVNmFls;
  731.     unsigned short                    ioVBitMap;
  732.     unsigned short                    ioAllocPtr;
  733.     unsigned short                    ioVNmAlBlks;
  734.     unsigned long                    ioVAlBlkSiz;
  735.     unsigned long                    ioVClpSiz;
  736.     unsigned short                    ioAlBlSt;
  737.     unsigned long                    ioVNxtCNID;
  738.     unsigned short                    ioVFrBlk;
  739.     unsigned short                    ioVSigWord;
  740.     short                            ioVDrvInfo;
  741.     short                            ioVDRefNum;
  742.     short                            ioVFSID;
  743.     unsigned long                    ioVBkUp;
  744.     short                            ioVSeqNum;
  745.     unsigned long                    ioVWrCnt;
  746.     unsigned long                    ioVFilCnt;
  747.     unsigned long                    ioVDirCnt;
  748.     long                            ioVFndrInfo[8];
  749.     UnsignedWide                    ioVTotalBytes;                /* total number of bytes on volume */
  750.     UnsignedWide                    ioVFreeBytes;                /* number of free bytes on volume */
  751. };
  752. typedef struct XVolumeParam XVolumeParam, *XVolumeParamPtr;
  753.  
  754. struct AccessParam {
  755.     QElemPtr                        qLink;
  756.     short                            qType;
  757.     short                            ioTrap;
  758.     Ptr                                ioCmdAddr;
  759.     IOCompletionUPP                    ioCompletion;
  760.     OSErr                            ioResult;
  761.     StringPtr                        ioNamePtr;
  762.     short                            ioVRefNum;
  763.     short                            filler3;
  764.     short                            ioDenyModes;
  765.     short                            filler4;
  766.     SInt8                            filler5;
  767.     SInt8                            ioACUser;
  768.     long                            filler6;
  769.     long                            ioACOwnerID;
  770.     long                            ioACGroupID;
  771.     long                            ioACAccess;
  772.     long                            ioDirID;
  773. };
  774. typedef struct AccessParam AccessParam, *AccessParamPtr;
  775.  
  776. struct ObjParam {
  777.     QElemPtr                        qLink;
  778.     short                            qType;
  779.     short                            ioTrap;
  780.     Ptr                                ioCmdAddr;
  781.     IOCompletionUPP                    ioCompletion;
  782.     OSErr                            ioResult;
  783.     StringPtr                        ioNamePtr;
  784.     short                            ioVRefNum;
  785.     short                            filler7;
  786.     short                            ioObjType;
  787.     StringPtr                        ioObjNamePtr;
  788.     long                            ioObjID;
  789. };
  790. typedef struct ObjParam ObjParam, *ObjParamPtr;
  791.  
  792. struct CopyParam {
  793.     QElemPtr                        qLink;
  794.     short                            qType;
  795.     short                            ioTrap;
  796.     Ptr                                ioCmdAddr;
  797.     IOCompletionUPP                    ioCompletion;
  798.     OSErr                            ioResult;
  799.     StringPtr                        ioNamePtr;
  800.     short                            ioVRefNum;
  801.     short                            ioDstVRefNum;
  802.     short                            filler8;
  803.     StringPtr                        ioNewName;
  804.     StringPtr                        ioCopyName;
  805.     long                            ioNewDirID;
  806.     long                            filler14;
  807.     long                            filler15;
  808.     long                            ioDirID;
  809. };
  810. typedef struct CopyParam CopyParam, *CopyParamPtr;
  811.  
  812. struct WDParam {
  813.     QElemPtr                        qLink;
  814.     short                            qType;
  815.     short                            ioTrap;
  816.     Ptr                                ioCmdAddr;
  817.     IOCompletionUPP                    ioCompletion;
  818.     OSErr                            ioResult;
  819.     StringPtr                        ioNamePtr;
  820.     short                            ioVRefNum;
  821.     short                            filler9;
  822.     short                            ioWDIndex;
  823.     long                            ioWDProcID;
  824.     short                            ioWDVRefNum;
  825.     short                            filler10;
  826.     long                            filler11;
  827.     long                            filler12;
  828.     long                            filler13;
  829.     long                            ioWDDirID;
  830. };
  831. typedef struct WDParam WDParam, *WDParamPtr;
  832.  
  833. struct FIDParam {
  834.     QElemPtr                        qLink;
  835.     short                            qType;
  836.     short                            ioTrap;
  837.     Ptr                                ioCmdAddr;
  838.     IOCompletionUPP                    ioCompletion;
  839.     OSErr                            ioResult;
  840.     StringPtr                        ioNamePtr;
  841.     short                            ioVRefNum;
  842.     long                            filler14;
  843.     StringPtr                        ioDestNamePtr;
  844.     long                            filler15;
  845.     long                            ioDestDirID;
  846.     long                            filler16;
  847.     long                            filler17;
  848.     long                            ioSrcDirID;
  849.     short                            filler18;
  850.     long                            ioFileID;
  851. };
  852. typedef struct FIDParam FIDParam, *FIDParamPtr;
  853.  
  854. struct ForeignPrivParam {
  855.     QElemPtr                        qLink;
  856.     short                            qType;
  857.     short                            ioTrap;
  858.     Ptr                                ioCmdAddr;
  859.     IOCompletionUPP                    ioCompletion;
  860.     OSErr                            ioResult;
  861.     StringPtr                        ioNamePtr;
  862.     short                            ioVRefNum;
  863.     long                            ioFiller21;
  864.     long                            ioFiller22;
  865.     Ptr                                ioForeignPrivBuffer;
  866.     long                            ioForeignPrivActCount;
  867.     long                            ioForeignPrivReqCount;
  868.     long                            ioFiller23;
  869.     long                            ioForeignPrivDirID;
  870.     long                            ioForeignPrivInfo1;
  871.     long                            ioForeignPrivInfo2;
  872.     long                            ioForeignPrivInfo3;
  873.     long                            ioForeignPrivInfo4;
  874. };
  875. typedef struct ForeignPrivParam ForeignPrivParam, *ForeignPrivParamPtr;
  876.  
  877. struct CSParam {
  878.     QElemPtr                        qLink;
  879.     short                            qType;
  880.     short                            ioTrap;
  881.     Ptr                                ioCmdAddr;
  882.     IOCompletionUPP                    ioCompletion;
  883.     OSErr                            ioResult;
  884.     StringPtr                        ioNamePtr;
  885.     short                            ioVRefNum;
  886.     FSSpecPtr                        ioMatchPtr;
  887.     long                            ioReqMatchCount;
  888.     long                            ioActMatchCount;
  889.     long                            ioSearchBits;
  890.     CInfoPBPtr                        ioSearchInfo1;
  891.     CInfoPBPtr                        ioSearchInfo2;
  892.     long                            ioSearchTime;
  893.     CatPositionRec                    ioCatPosition;
  894.     Ptr                                ioOptBuffer;
  895.     long                            ioOptBufSize;
  896. };
  897. typedef struct CSParam CSParam, *CSParamPtr;
  898.  
  899. union HParamBlockRec {
  900.     HIOParam                        ioParam;
  901.     HFileParam                        fileParam;
  902.     HVolumeParam                    volumeParam;
  903.     AccessParam                        accessParam;
  904.     ObjParam                        objParam;
  905.     CopyParam                        copyParam;
  906.     WDParam                            wdParam;
  907.     FIDParam                        fidParam;
  908.     CSParam                            csParam;
  909.     ForeignPrivParam                foreignPrivParam;
  910. };
  911. typedef union HParamBlockRec HParamBlockRec;
  912.  
  913. typedef HParamBlockRec *HParmBlkPtr;
  914.  
  915. struct CMovePBRec {
  916.     QElemPtr                        qLink;
  917.     short                            qType;
  918.     short                            ioTrap;
  919.     Ptr                                ioCmdAddr;
  920.     IOCompletionUPP                    ioCompletion;
  921.     OSErr                            ioResult;
  922.     StringPtr                        ioNamePtr;
  923.     short                            ioVRefNum;
  924.     long                            filler1;
  925.     StringPtr                        ioNewName;
  926.     long                            filler2;
  927.     long                            ioNewDirID;
  928.     long                            filler3[2];
  929.     long                            ioDirID;
  930. };
  931. typedef struct CMovePBRec CMovePBRec;
  932.  
  933. typedef CMovePBRec *CMovePBPtr;
  934.  
  935. struct WDPBRec {
  936.     QElemPtr                        qLink;
  937.     short                            qType;
  938.     short                            ioTrap;
  939.     Ptr                                ioCmdAddr;
  940.     IOCompletionUPP                    ioCompletion;
  941.     OSErr                            ioResult;
  942.     StringPtr                        ioNamePtr;
  943.     short                            ioVRefNum;
  944.     short                            filler1;
  945.     short                            ioWDIndex;
  946.     long                            ioWDProcID;
  947.     short                            ioWDVRefNum;
  948.     short                            filler2[7];
  949.     long                            ioWDDirID;
  950. };
  951. typedef struct WDPBRec WDPBRec;
  952.  
  953. typedef WDPBRec *WDPBPtr;
  954.  
  955. struct FCBPBRec {
  956.     QElemPtr                        qLink;
  957.     short                            qType;
  958.     short                            ioTrap;
  959.     Ptr                                ioCmdAddr;
  960.     IOCompletionUPP                    ioCompletion;
  961.     OSErr                            ioResult;
  962.     StringPtr                        ioNamePtr;
  963.     short                            ioVRefNum;
  964.     short                            ioRefNum;
  965.     short                            filler;
  966.     short                            ioFCBIndx;
  967.     short                            filler1;
  968.     long                            ioFCBFlNm;
  969.     short                            ioFCBFlags;
  970.     unsigned short                    ioFCBStBlk;
  971.     long                            ioFCBEOF;
  972.     long                            ioFCBPLen;
  973.     long                            ioFCBCrPs;
  974.     short                            ioFCBVRefNum;
  975.     long                            ioFCBClpSiz;
  976.     long                            ioFCBParID;
  977. };
  978. typedef struct FCBPBRec FCBPBRec;
  979.  
  980. typedef FCBPBRec *FCBPBPtr;
  981.  
  982. struct VCB {
  983.     QElemPtr                        qLink;
  984.     short                            qType;
  985.     short                            vcbFlags;
  986.     unsigned short                    vcbSigWord;
  987.     unsigned long                    vcbCrDate;
  988.     unsigned long                    vcbLsMod;
  989.     short                            vcbAtrb;
  990.     unsigned short                    vcbNmFls;
  991.     short                            vcbVBMSt;
  992.     short                            vcbAllocPtr;
  993.     unsigned short                    vcbNmAlBlks;
  994.     long                            vcbAlBlkSiz;
  995.     long                            vcbClpSiz;
  996.     short                            vcbAlBlSt;
  997.     long                            vcbNxtCNID;
  998.     unsigned short                    vcbFreeBks;
  999.     Str27                            vcbVN;
  1000.     short                            vcbDrvNum;
  1001.     short                            vcbDRefNum;
  1002.     short                            vcbFSID;
  1003.     short                            vcbVRefNum;
  1004.     Ptr                                vcbMAdr;
  1005.     Ptr                                vcbBufAdr;
  1006.     short                            vcbMLen;
  1007.     short                            vcbDirIndex;
  1008.     short                            vcbDirBlk;
  1009.     unsigned long                    vcbVolBkUp;
  1010.     unsigned short                    vcbVSeqNum;
  1011.     long                            vcbWrCnt;
  1012.     long                            vcbXTClpSiz;
  1013.     long                            vcbCTClpSiz;
  1014.     unsigned short                    vcbNmRtDirs;
  1015.     long                            vcbFilCnt;
  1016.     long                            vcbDirCnt;
  1017.     long                            vcbFndrInfo[8];
  1018.     unsigned short                    vcbVCSize;
  1019.     unsigned short                    vcbVBMCSiz;
  1020.     unsigned short                    vcbCtlCSiz;
  1021.     unsigned short                    vcbXTAlBlks;
  1022.     unsigned short                    vcbCTAlBlks;
  1023.     short                            vcbXTRef;
  1024.     short                            vcbCTRef;
  1025.     Ptr                                vcbCtlBuf;
  1026.     long                            vcbDirIDM;
  1027.     short                            vcbOffsM;
  1028. };
  1029. typedef struct VCB VCB;
  1030.  
  1031. #if !OLDROUTINELOCATIONS
  1032. typedef VCB *VCBPtr;
  1033.  
  1034. #endif
  1035. struct DrvQEl {
  1036.     QElemPtr                        qLink;
  1037.     short                            qType;
  1038.     short                            dQDrive;
  1039.     short                            dQRefNum;
  1040.     short                            dQFSID;
  1041.     unsigned short                    dQDrvSz;
  1042.     unsigned short                    dQDrvSz2;
  1043. };
  1044. typedef struct DrvQEl DrvQEl;
  1045.  
  1046. typedef DrvQEl *DrvQElPtr;
  1047.  
  1048. enum {
  1049.     uppIOCompletionProcInfo = kRegisterBased
  1050.          | REGISTER_ROUTINE_PARAMETER(1, kRegisterA0, SIZE_CODE(sizeof(ParmBlkPtr)))
  1051. };
  1052.  
  1053. #if GENERATINGCFM
  1054. #define NewIOCompletionProc(userRoutine)        \
  1055.         (IOCompletionUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppIOCompletionProcInfo, GetCurrentArchitecture())
  1056. #else
  1057. #define NewIOCompletionProc(userRoutine)        \
  1058.         ((IOCompletionUPP) (userRoutine))
  1059. #endif
  1060.  
  1061. #if GENERATINGCFM
  1062. #define CallIOCompletionProc(userRoutine, paramBlock)        \
  1063.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppIOCompletionProcInfo, (paramBlock))
  1064. #else
  1065. /* (*IOCompletionProcPtr) cannot be called from a high-level language without the Mixed Mode Manager */
  1066. #endif
  1067.  
  1068. #if OLDROUTINELOCATIONS
  1069.  
  1070. #if !GENERATINGCFM
  1071. #pragma parameter __D0 PBOpenSync(__A0)
  1072. #endif
  1073. extern pascal OSErr PBOpenSync(ParmBlkPtr paramBlock)
  1074.  ONEWORDINLINE(0xA000);
  1075.  
  1076. #if !GENERATINGCFM
  1077. #pragma parameter __D0 PBOpenAsync(__A0)
  1078. #endif
  1079. extern pascal OSErr PBOpenAsync(ParmBlkPtr paramBlock)
  1080.  ONEWORDINLINE(0xA400);
  1081.  
  1082. #if !GENERATINGCFM
  1083. #pragma parameter __D0 PBOpenImmed(__A0)
  1084. #endif
  1085. extern pascal OSErr PBOpenImmed(ParmBlkPtr paramBlock)
  1086.  ONEWORDINLINE(0xA200);
  1087.  
  1088. #if !GENERATINGCFM
  1089. #pragma parameter __D0 PBCloseSync(__A0)
  1090. #endif
  1091. extern pascal OSErr PBCloseSync(ParmBlkPtr paramBlock)
  1092.  ONEWORDINLINE(0xA001);
  1093.  
  1094. #if !GENERATINGCFM
  1095. #pragma parameter __D0 PBCloseAsync(__A0)
  1096. #endif
  1097. extern pascal OSErr PBCloseAsync(ParmBlkPtr paramBlock)
  1098.  ONEWORDINLINE(0xA401);
  1099.  
  1100. #if !GENERATINGCFM
  1101. #pragma parameter __D0 PBCloseImmed(__A0)
  1102. #endif
  1103. extern pascal OSErr PBCloseImmed(ParmBlkPtr paramBlock)
  1104.  ONEWORDINLINE(0xA201);
  1105.  
  1106. #if !GENERATINGCFM
  1107. #pragma parameter __D0 PBReadSync(__A0)
  1108. #endif
  1109. extern pascal OSErr PBReadSync(ParmBlkPtr paramBlock)
  1110.  ONEWORDINLINE(0xA002);
  1111.  
  1112. #if !GENERATINGCFM
  1113. #pragma parameter __D0 PBReadAsync(__A0)
  1114. #endif
  1115. extern pascal OSErr PBReadAsync(ParmBlkPtr paramBlock)
  1116.  ONEWORDINLINE(0xA402);
  1117.  
  1118. #if !GENERATINGCFM
  1119. #pragma parameter __D0 PBReadImmed(__A0)
  1120. #endif
  1121. extern pascal OSErr PBReadImmed(ParmBlkPtr paramBlock)
  1122.  ONEWORDINLINE(0xA202);
  1123.  
  1124. #if !GENERATINGCFM
  1125. #pragma parameter __D0 PBWriteSync(__A0)
  1126. #endif
  1127. extern pascal OSErr PBWriteSync(ParmBlkPtr paramBlock)
  1128.  ONEWORDINLINE(0xA003);
  1129.  
  1130. #if !GENERATINGCFM
  1131. #pragma parameter __D0 PBWriteAsync(__A0)
  1132. #endif
  1133. extern pascal OSErr PBWriteAsync(ParmBlkPtr paramBlock)
  1134.  ONEWORDINLINE(0xA403);
  1135.  
  1136. #if !GENERATINGCFM
  1137. #pragma parameter __D0 PBWriteImmed(__A0)
  1138. #endif
  1139. extern pascal OSErr PBWriteImmed(ParmBlkPtr paramBlock)
  1140.  ONEWORDINLINE(0xA203);
  1141. #endif
  1142.  
  1143. #if !GENERATINGCFM
  1144. #pragma parameter __D0 PBGetVInfoSync(__A0)
  1145. #endif
  1146. extern pascal OSErr PBGetVInfoSync(ParmBlkPtr paramBlock)
  1147.  ONEWORDINLINE(0xA007);
  1148.  
  1149. #if !GENERATINGCFM
  1150. #pragma parameter __D0 PBGetVInfoAsync(__A0)
  1151. #endif
  1152. extern pascal OSErr PBGetVInfoAsync(ParmBlkPtr paramBlock)
  1153.  ONEWORDINLINE(0xA407);
  1154.  
  1155. #if !GENERATINGCFM
  1156. #pragma parameter __D0 PBXGetVolInfoSync(__A0)
  1157. #endif
  1158. extern pascal OSErr PBXGetVolInfoSync(XVolumeParamPtr paramBlock)
  1159.  TWOWORDINLINE(0x7012, 0xA060);
  1160.  
  1161. #if !GENERATINGCFM
  1162. #pragma parameter __D0 PBXGetVolInfoAsync(__A0)
  1163. #endif
  1164. extern pascal OSErr PBXGetVolInfoAsync(XVolumeParamPtr paramBlock)
  1165.  TWOWORDINLINE(0x7012, 0xA460);
  1166.  
  1167. #if !GENERATINGCFM
  1168. #pragma parameter __D0 PBGetVolSync(__A0)
  1169. #endif
  1170. extern pascal OSErr PBGetVolSync(ParmBlkPtr paramBlock)
  1171.  ONEWORDINLINE(0xA014);
  1172.  
  1173. #if !GENERATINGCFM
  1174. #pragma parameter __D0 PBGetVolAsync(__A0)
  1175. #endif
  1176. extern pascal OSErr PBGetVolAsync(ParmBlkPtr paramBlock)
  1177.  ONEWORDINLINE(0xA414);
  1178.  
  1179. #if !GENERATINGCFM
  1180. #pragma parameter __D0 PBSetVolSync(__A0)
  1181. #endif
  1182. extern pascal OSErr PBSetVolSync(ParmBlkPtr paramBlock)
  1183.  ONEWORDINLINE(0xA015);
  1184.  
  1185. #if !GENERATINGCFM
  1186. #pragma parameter __D0 PBSetVolAsync(__A0)
  1187. #endif
  1188. extern pascal OSErr PBSetVolAsync(ParmBlkPtr paramBlock)
  1189.  ONEWORDINLINE(0xA415);
  1190.  
  1191. #if !GENERATINGCFM
  1192. #pragma parameter __D0 PBFlushVolSync(__A0)
  1193. #endif
  1194. extern pascal OSErr PBFlushVolSync(ParmBlkPtr paramBlock)
  1195.  ONEWORDINLINE(0xA013);
  1196.  
  1197. #if !GENERATINGCFM
  1198. #pragma parameter __D0 PBFlushVolAsync(__A0)
  1199. #endif
  1200. extern pascal OSErr PBFlushVolAsync(ParmBlkPtr paramBlock)
  1201.  ONEWORDINLINE(0xA413);
  1202.  
  1203. #if !GENERATINGCFM
  1204. #pragma parameter __D0 PBCreateSync(__A0)
  1205. #endif
  1206. extern pascal OSErr PBCreateSync(ParmBlkPtr paramBlock)
  1207.  ONEWORDINLINE(0xA008);
  1208.  
  1209. #if !GENERATINGCFM
  1210. #pragma parameter __D0 PBCreateAsync(__A0)
  1211. #endif
  1212. extern pascal OSErr PBCreateAsync(ParmBlkPtr paramBlock)
  1213.  ONEWORDINLINE(0xA408);
  1214.  
  1215. #if !GENERATINGCFM
  1216. #pragma parameter __D0 PBDeleteSync(__A0)
  1217. #endif
  1218. extern pascal OSErr PBDeleteSync(ParmBlkPtr paramBlock)
  1219.  ONEWORDINLINE(0xA009);
  1220.  
  1221. #if !GENERATINGCFM
  1222. #pragma parameter __D0 PBDeleteAsync(__A0)
  1223. #endif
  1224. extern pascal OSErr PBDeleteAsync(ParmBlkPtr paramBlock)
  1225.  ONEWORDINLINE(0xA409);
  1226.  
  1227. #if !GENERATINGCFM
  1228. #pragma parameter __D0 PBOpenDFSync(__A0)
  1229. #endif
  1230. extern pascal OSErr PBOpenDFSync(ParmBlkPtr paramBlock)
  1231.  TWOWORDINLINE(0x701A, 0xA060);
  1232.  
  1233. #if !GENERATINGCFM
  1234. #pragma parameter __D0 PBOpenDFAsync(__A0)
  1235. #endif
  1236. extern pascal OSErr PBOpenDFAsync(ParmBlkPtr paramBlock)
  1237.  TWOWORDINLINE(0x701A, 0xA460);
  1238.  
  1239. #if !GENERATINGCFM
  1240. #pragma parameter __D0 PBOpenRFSync(__A0)
  1241. #endif
  1242. extern pascal OSErr PBOpenRFSync(ParmBlkPtr paramBlock)
  1243.  ONEWORDINLINE(0xA00A);
  1244.  
  1245. #if !GENERATINGCFM
  1246. #pragma parameter __D0 PBOpenRFAsync(__A0)
  1247. #endif
  1248. extern pascal OSErr PBOpenRFAsync(ParmBlkPtr paramBlock)
  1249.  ONEWORDINLINE(0xA40A);
  1250.  
  1251. #if !GENERATINGCFM
  1252. #pragma parameter __D0 PBRenameSync(__A0)
  1253. #endif
  1254. extern pascal OSErr PBRenameSync(ParmBlkPtr paramBlock)
  1255.  ONEWORDINLINE(0xA00B);
  1256.  
  1257. #if !GENERATINGCFM
  1258. #pragma parameter __D0 PBRenameAsync(__A0)
  1259. #endif
  1260. extern pascal OSErr PBRenameAsync(ParmBlkPtr paramBlock)
  1261.  ONEWORDINLINE(0xA40B);
  1262.  
  1263. #if !GENERATINGCFM
  1264. #pragma parameter __D0 PBGetFInfoSync(__A0)
  1265. #endif
  1266. extern pascal OSErr PBGetFInfoSync(ParmBlkPtr paramBlock)
  1267.  ONEWORDINLINE(0xA00C);
  1268.  
  1269. #if !GENERATINGCFM
  1270. #pragma parameter __D0 PBGetFInfoAsync(__A0)
  1271. #endif
  1272. extern pascal OSErr PBGetFInfoAsync(ParmBlkPtr paramBlock)
  1273.  ONEWORDINLINE(0xA40C);
  1274.  
  1275. #if !GENERATINGCFM
  1276. #pragma parameter __D0 PBSetFInfoSync(__A0)
  1277. #endif
  1278. extern pascal OSErr PBSetFInfoSync(ParmBlkPtr paramBlock)
  1279.  ONEWORDINLINE(0xA00D);
  1280.  
  1281. #if !GENERATINGCFM
  1282. #pragma parameter __D0 PBSetFInfoAsync(__A0)
  1283. #endif
  1284. extern pascal OSErr PBSetFInfoAsync(ParmBlkPtr paramBlock)
  1285.  ONEWORDINLINE(0xA40D);
  1286.  
  1287. #if !GENERATINGCFM
  1288. #pragma parameter __D0 PBSetFLockSync(__A0)
  1289. #endif
  1290. extern pascal OSErr PBSetFLockSync(ParmBlkPtr paramBlock)
  1291.  ONEWORDINLINE(0xA041);
  1292.  
  1293. #if !GENERATINGCFM
  1294. #pragma parameter __D0 PBSetFLockAsync(__A0)
  1295. #endif
  1296. extern pascal OSErr PBSetFLockAsync(ParmBlkPtr paramBlock)
  1297.  ONEWORDINLINE(0xA441);
  1298.  
  1299. #if !GENERATINGCFM
  1300. #pragma parameter __D0 PBRstFLockSync(__A0)
  1301. #endif
  1302. extern pascal OSErr PBRstFLockSync(ParmBlkPtr paramBlock)
  1303.  ONEWORDINLINE(0xA042);
  1304.  
  1305. #if !GENERATINGCFM
  1306. #pragma parameter __D0 PBRstFLockAsync(__A0)
  1307. #endif
  1308. extern pascal OSErr PBRstFLockAsync(ParmBlkPtr paramBlock)
  1309.  ONEWORDINLINE(0xA442);
  1310.  
  1311. #if !GENERATINGCFM
  1312. #pragma parameter __D0 PBSetFVersSync(__A0)
  1313. #endif
  1314. extern pascal OSErr PBSetFVersSync(ParmBlkPtr paramBlock)
  1315.  ONEWORDINLINE(0xA043);
  1316.  
  1317. #if !GENERATINGCFM
  1318. #pragma parameter __D0 PBSetFVersAsync(__A0)
  1319. #endif
  1320. extern pascal OSErr PBSetFVersAsync(ParmBlkPtr paramBlock)
  1321.  ONEWORDINLINE(0xA443);
  1322.  
  1323. #if !GENERATINGCFM
  1324. #pragma parameter __D0 PBAllocateSync(__A0)
  1325. #endif
  1326. extern pascal OSErr PBAllocateSync(ParmBlkPtr paramBlock)
  1327.  ONEWORDINLINE(0xA010);
  1328.  
  1329. #if !GENERATINGCFM
  1330. #pragma parameter __D0 PBAllocateAsync(__A0)
  1331. #endif
  1332. extern pascal OSErr PBAllocateAsync(ParmBlkPtr paramBlock)
  1333.  ONEWORDINLINE(0xA410);
  1334.  
  1335. #if !GENERATINGCFM
  1336. #pragma parameter __D0 PBGetEOFSync(__A0)
  1337. #endif
  1338. extern pascal OSErr PBGetEOFSync(ParmBlkPtr paramBlock)
  1339.  ONEWORDINLINE(0xA011);
  1340.  
  1341. #if !GENERATINGCFM
  1342. #pragma parameter __D0 PBGetEOFAsync(__A0)
  1343. #endif
  1344. extern pascal OSErr PBGetEOFAsync(ParmBlkPtr paramBlock)
  1345.  ONEWORDINLINE(0xA411);
  1346.  
  1347. #if !GENERATINGCFM
  1348. #pragma parameter __D0 PBSetEOFSync(__A0)
  1349. #endif
  1350. extern pascal OSErr PBSetEOFSync(ParmBlkPtr paramBlock)
  1351.  ONEWORDINLINE(0xA012);
  1352.  
  1353. #if !GENERATINGCFM
  1354. #pragma parameter __D0 PBSetEOFAsync(__A0)
  1355. #endif
  1356. extern pascal OSErr PBSetEOFAsync(ParmBlkPtr paramBlock)
  1357.  ONEWORDINLINE(0xA412);
  1358.  
  1359. #if !GENERATINGCFM
  1360. #pragma parameter __D0 PBGetFPosSync(__A0)
  1361. #endif
  1362. extern pascal OSErr PBGetFPosSync(ParmBlkPtr paramBlock)
  1363.  ONEWORDINLINE(0xA018);
  1364.  
  1365. #if !GENERATINGCFM
  1366. #pragma parameter __D0 PBGetFPosAsync(__A0)
  1367. #endif
  1368. extern pascal OSErr PBGetFPosAsync(ParmBlkPtr paramBlock)
  1369.  ONEWORDINLINE(0xA418);
  1370.  
  1371. #if !GENERATINGCFM
  1372. #pragma parameter __D0 PBSetFPosSync(__A0)
  1373. #endif
  1374. extern pascal OSErr PBSetFPosSync(ParmBlkPtr paramBlock)
  1375.  ONEWORDINLINE(0xA044);
  1376.  
  1377. #if !GENERATINGCFM
  1378. #pragma parameter __D0 PBSetFPosAsync(__A0)
  1379. #endif
  1380. extern pascal OSErr PBSetFPosAsync(ParmBlkPtr paramBlock)
  1381.  ONEWORDINLINE(0xA444);
  1382.  
  1383. #if !GENERATINGCFM
  1384. #pragma parameter __D0 PBFlushFileSync(__A0)
  1385. #endif
  1386. extern pascal OSErr PBFlushFileSync(ParmBlkPtr paramBlock)
  1387.  ONEWORDINLINE(0xA045);
  1388.  
  1389. #if !GENERATINGCFM
  1390. #pragma parameter __D0 PBFlushFileAsync(__A0)
  1391. #endif
  1392. extern pascal OSErr PBFlushFileAsync(ParmBlkPtr paramBlock)
  1393.  ONEWORDINLINE(0xA445);
  1394.  
  1395. #if !GENERATINGCFM
  1396. #pragma parameter __D0 PBMountVol(__A0)
  1397. #endif
  1398. extern pascal OSErr PBMountVol(ParmBlkPtr paramBlock)
  1399.  ONEWORDINLINE(0xA00F);
  1400.  
  1401. #if !GENERATINGCFM
  1402. #pragma parameter __D0 PBUnmountVol(__A0)
  1403. #endif
  1404. extern pascal OSErr PBUnmountVol(ParmBlkPtr paramBlock)
  1405.  ONEWORDINLINE(0xA00E);
  1406.  
  1407. #if !GENERATINGCFM
  1408. #pragma parameter __D0 PBEject(__A0)
  1409. #endif
  1410. extern pascal OSErr PBEject(ParmBlkPtr paramBlock)
  1411.  ONEWORDINLINE(0xA017);
  1412.  
  1413. #if !GENERATINGCFM
  1414. #pragma parameter __D0 PBOffLine(__A0)
  1415. #endif
  1416. extern pascal OSErr PBOffLine(ParmBlkPtr paramBlock)
  1417.  ONEWORDINLINE(0xA035);
  1418.  
  1419. #if !GENERATINGCFM
  1420. #pragma parameter __D0 PBCatSearchSync(__A0)
  1421. #endif
  1422. extern pascal OSErr PBCatSearchSync(CSParamPtr paramBlock)
  1423.  TWOWORDINLINE(0x7018, 0xA260);
  1424.  
  1425. #if !GENERATINGCFM
  1426. #pragma parameter __D0 PBCatSearchAsync(__A0)
  1427. #endif
  1428. extern pascal OSErr PBCatSearchAsync(CSParamPtr paramBlock)
  1429.  TWOWORDINLINE(0x7018, 0xA660);
  1430. extern pascal OSErr SetVol(ConstStr63Param volName, short vRefNum);
  1431. extern pascal OSErr UnmountVol(ConstStr63Param volName, short vRefNum);
  1432. extern pascal OSErr Eject(ConstStr63Param volName, short vRefNum);
  1433. extern pascal OSErr FlushVol(ConstStr63Param volName, short vRefNum);
  1434. extern pascal OSErr HSetVol(ConstStr63Param volName, short vRefNum, long dirID);
  1435. #if OLDROUTINELOCATIONS
  1436. extern pascal void AddDrive(short drvrRefNum, short drvNum, DrvQElPtr qEl);
  1437. #endif
  1438. extern pascal OSErr FSOpen(ConstStr255Param fileName, short vRefNum, short *refNum);
  1439. extern pascal OSErr OpenDF(ConstStr255Param fileName, short vRefNum, short *refNum);
  1440. extern pascal OSErr FSClose(short refNum);
  1441. extern pascal OSErr FSRead(short refNum, long *count, void *buffPtr);
  1442. extern pascal OSErr FSWrite(short refNum, long *count, const void *buffPtr);
  1443. extern pascal OSErr GetVInfo(short drvNum, StringPtr volName, short *vRefNum, long *freeBytes);
  1444. extern pascal OSErr GetFInfo(ConstStr255Param fileName, short vRefNum, FInfo *fndrInfo);
  1445. extern pascal OSErr GetVol(StringPtr volName, short *vRefNum);
  1446. extern pascal OSErr Create(ConstStr255Param fileName, short vRefNum, OSType creator, OSType fileType);
  1447. extern pascal OSErr FSDelete(ConstStr255Param fileName, short vRefNum);
  1448. extern pascal OSErr OpenRF(ConstStr255Param fileName, short vRefNum, short *refNum);
  1449. extern pascal OSErr Rename(ConstStr255Param oldName, short vRefNum, ConstStr255Param newName);
  1450. extern pascal OSErr SetFInfo(ConstStr255Param fileName, short vRefNum, const FInfo *fndrInfo);
  1451. extern pascal OSErr SetFLock(ConstStr255Param fileName, short vRefNum);
  1452. extern pascal OSErr RstFLock(ConstStr255Param fileName, short vRefNum);
  1453. extern pascal OSErr Allocate(short refNum, long *count);
  1454. extern pascal OSErr GetEOF(short refNum, long *logEOF);
  1455. extern pascal OSErr SetEOF(short refNum, long logEOF);
  1456. extern pascal OSErr GetFPos(short refNum, long *filePos);
  1457. extern pascal OSErr SetFPos(short refNum, short posMode, long posOff);
  1458. extern pascal OSErr GetVRefNum(short fileRefNum, short *vRefNum);
  1459. #if CGLUESUPPORTED
  1460. extern OSErr fsopen(const char *fileName, short vRefNum, short *refNum);
  1461. extern OSErr getvinfo(short drvNum, char *volName, short *vRefNum, long *freeBytes);
  1462. extern OSErr getfinfo(const char *fileName, short vRefNum, FInfo *fndrInfo);
  1463. extern OSErr getvol(char *volName, short *vRefNum);
  1464. extern OSErr setvol(const char *volName, short vRefNum);
  1465. extern OSErr unmountvol(const char *volName, short vRefNum);
  1466. extern OSErr eject(const char *volName, short vRefNum);
  1467. extern OSErr flushvol(const char *volName, short vRefNum);
  1468. extern OSErr create(const char *fileName, short vRefNum, OSType creator, OSType fileType);
  1469. extern OSErr fsdelete(const char *fileName, short vRefNum);
  1470. extern OSErr openrf(const char *fileName, short vRefNum, short *refNum);
  1471. extern OSErr fsrename(const char *oldName, short vRefNum, const char *newName);
  1472. extern OSErr setfinfo(const char *fileName, short vRefNum, const FInfo *fndrInfo);
  1473. extern OSErr setflock(const char *fileName, short vRefNum);
  1474. extern OSErr rstflock(const char *fileName, short vRefNum);
  1475. #endif
  1476.  
  1477. #if !GENERATINGCFM
  1478. #pragma parameter __D0 PBOpenWDSync(__A0)
  1479. #endif
  1480. extern pascal OSErr PBOpenWDSync(WDPBPtr paramBlock)
  1481.  TWOWORDINLINE(0x7001, 0xA260);
  1482.  
  1483. #if !GENERATINGCFM
  1484. #pragma parameter __D0 PBOpenWDAsync(__A0)
  1485. #endif
  1486. extern pascal OSErr PBOpenWDAsync(WDPBPtr paramBlock)
  1487.  TWOWORDINLINE(0x7001, 0xA660);
  1488.  
  1489. #if !GENERATINGCFM
  1490. #pragma parameter __D0 PBCloseWDSync(__A0)
  1491. #endif
  1492. extern pascal OSErr PBCloseWDSync(WDPBPtr paramBlock)
  1493.  TWOWORDINLINE(0x7002, 0xA260);
  1494.  
  1495. #if !GENERATINGCFM
  1496. #pragma parameter __D0 PBCloseWDAsync(__A0)
  1497. #endif
  1498. extern pascal OSErr PBCloseWDAsync(WDPBPtr paramBlock)
  1499.  TWOWORDINLINE(0x7002, 0xA660);
  1500.  
  1501. #if !GENERATINGCFM
  1502. #pragma parameter __D0 PBHSetVolSync(__A0)
  1503. #endif
  1504. extern pascal OSErr PBHSetVolSync(WDPBPtr paramBlock)
  1505.  ONEWORDINLINE(0xA215);
  1506.  
  1507. #if !GENERATINGCFM
  1508. #pragma parameter __D0 PBHSetVolAsync(__A0)
  1509. #endif
  1510. extern pascal OSErr PBHSetVolAsync(WDPBPtr paramBlock)
  1511.  ONEWORDINLINE(0xA615);
  1512.  
  1513. #if !GENERATINGCFM
  1514. #pragma parameter __D0 PBHGetVolSync(__A0)
  1515. #endif
  1516. extern pascal OSErr PBHGetVolSync(WDPBPtr paramBlock)
  1517.  ONEWORDINLINE(0xA214);
  1518.  
  1519. #if !GENERATINGCFM
  1520. #pragma parameter __D0 PBHGetVolAsync(__A0)
  1521. #endif
  1522. extern pascal OSErr PBHGetVolAsync(WDPBPtr paramBlock)
  1523.  ONEWORDINLINE(0xA614);
  1524.  
  1525. #if !GENERATINGCFM
  1526. #pragma parameter __D0 PBCatMoveSync(__A0)
  1527. #endif
  1528. extern pascal OSErr PBCatMoveSync(CMovePBPtr paramBlock)
  1529.  TWOWORDINLINE(0x7005, 0xA260);
  1530.  
  1531. #if !GENERATINGCFM
  1532. #pragma parameter __D0 PBCatMoveAsync(__A0)
  1533. #endif
  1534. extern pascal OSErr PBCatMoveAsync(CMovePBPtr paramBlock)
  1535.  TWOWORDINLINE(0x7005, 0xA660);
  1536.  
  1537. #if !GENERATINGCFM
  1538. #pragma parameter __D0 PBDirCreateSync(__A0)
  1539. #endif
  1540. extern pascal OSErr PBDirCreateSync(HParmBlkPtr paramBlock)
  1541.  TWOWORDINLINE(0x7006, 0xA260);
  1542.  
  1543. #if !GENERATINGCFM
  1544. #pragma parameter __D0 PBDirCreateAsync(__A0)
  1545. #endif
  1546. extern pascal OSErr PBDirCreateAsync(HParmBlkPtr paramBlock)
  1547.  TWOWORDINLINE(0x7006, 0xA660);
  1548.  
  1549. #if !GENERATINGCFM
  1550. #pragma parameter __D0 PBGetWDInfoSync(__A0)
  1551. #endif
  1552. extern pascal OSErr PBGetWDInfoSync(WDPBPtr paramBlock)
  1553.  TWOWORDINLINE(0x7007, 0xA260);
  1554.  
  1555. #if !GENERATINGCFM
  1556. #pragma parameter __D0 PBGetWDInfoAsync(__A0)
  1557. #endif
  1558. extern pascal OSErr PBGetWDInfoAsync(WDPBPtr paramBlock)
  1559.  TWOWORDINLINE(0x7007, 0xA660);
  1560.  
  1561. #if !GENERATINGCFM
  1562. #pragma parameter __D0 PBGetFCBInfoSync(__A0)
  1563. #endif
  1564. extern pascal OSErr PBGetFCBInfoSync(FCBPBPtr paramBlock)
  1565.  TWOWORDINLINE(0x7008, 0xA260);
  1566.  
  1567. #if !GENERATINGCFM
  1568. #pragma parameter __D0 PBGetFCBInfoAsync(__A0)
  1569. #endif
  1570. extern pascal OSErr PBGetFCBInfoAsync(FCBPBPtr paramBlock)
  1571.  TWOWORDINLINE(0x7008, 0xA660);
  1572.  
  1573. #if !GENERATINGCFM
  1574. #pragma parameter __D0 PBGetCatInfoSync(__A0)
  1575. #endif
  1576. extern pascal OSErr PBGetCatInfoSync(CInfoPBPtr paramBlock)
  1577.  TWOWORDINLINE(0x7009, 0xA260);
  1578.  
  1579. #if !GENERATINGCFM
  1580. #pragma parameter __D0 PBGetCatInfoAsync(__A0)
  1581. #endif
  1582. extern pascal OSErr PBGetCatInfoAsync(CInfoPBPtr paramBlock)
  1583.  TWOWORDINLINE(0x7009, 0xA660);
  1584.  
  1585. #if !GENERATINGCFM
  1586. #pragma parameter __D0 PBSetCatInfoSync(__A0)
  1587. #endif
  1588. extern pascal OSErr PBSetCatInfoSync(CInfoPBPtr paramBlock)
  1589.  TWOWORDINLINE(0x700A, 0xA260);
  1590.  
  1591. #if !GENERATINGCFM
  1592. #pragma parameter __D0 PBSetCatInfoAsync(__A0)
  1593. #endif
  1594. extern pascal OSErr PBSetCatInfoAsync(CInfoPBPtr paramBlock)
  1595.  TWOWORDINLINE(0x700A, 0xA660);
  1596.  
  1597. #if !GENERATINGCFM
  1598. #pragma parameter __D0 PBAllocContigSync(__A0)
  1599. #endif
  1600. extern pascal OSErr PBAllocContigSync(ParmBlkPtr paramBlock)
  1601.  ONEWORDINLINE(0xA210);
  1602.  
  1603. #if !GENERATINGCFM
  1604. #pragma parameter __D0 PBAllocContigAsync(__A0)
  1605. #endif
  1606. extern pascal OSErr PBAllocContigAsync(ParmBlkPtr paramBlock)
  1607.  ONEWORDINLINE(0xA610);
  1608.  
  1609. #if !GENERATINGCFM
  1610. #pragma parameter __D0 PBLockRangeSync(__A0)
  1611. #endif
  1612. extern pascal OSErr PBLockRangeSync(ParmBlkPtr paramBlock)
  1613.  TWOWORDINLINE(0x7010, 0xA260);
  1614.  
  1615. #if !GENERATINGCFM
  1616. #pragma parameter __D0 PBLockRangeAsync(__A0)
  1617. #endif
  1618. extern pascal OSErr PBLockRangeAsync(ParmBlkPtr paramBlock)
  1619.  TWOWORDINLINE(0x7010, 0xA660);
  1620.  
  1621. #if !GENERATINGCFM
  1622. #pragma parameter __D0 PBUnlockRangeSync(__A0)
  1623. #endif
  1624. extern pascal OSErr PBUnlockRangeSync(ParmBlkPtr paramBlock)
  1625.  TWOWORDINLINE(0x7011, 0xA260);
  1626.  
  1627. #if !GENERATINGCFM
  1628. #pragma parameter __D0 PBUnlockRangeAsync(__A0)
  1629. #endif
  1630. extern pascal OSErr PBUnlockRangeAsync(ParmBlkPtr paramBlock)
  1631.  TWOWORDINLINE(0x7011, 0xA660);
  1632.  
  1633. #if !GENERATINGCFM
  1634. #pragma parameter __D0 PBSetVInfoSync(__A0)
  1635. #endif
  1636. extern pascal OSErr PBSetVInfoSync(HParmBlkPtr paramBlock)
  1637.  TWOWORDINLINE(0x700B, 0xA260);
  1638.  
  1639. #if !GENERATINGCFM
  1640. #pragma parameter __D0 PBSetVInfoAsync(__A0)
  1641. #endif
  1642. extern pascal OSErr PBSetVInfoAsync(HParmBlkPtr paramBlock)
  1643.  TWOWORDINLINE(0x700B, 0xA660);
  1644.  
  1645. #if !GENERATINGCFM
  1646. #pragma parameter __D0 PBHGetVInfoSync(__A0)
  1647. #endif
  1648. extern pascal OSErr PBHGetVInfoSync(HParmBlkPtr paramBlock)
  1649.  ONEWORDINLINE(0xA207);
  1650.  
  1651. #if !GENERATINGCFM
  1652. #pragma parameter __D0 PBHGetVInfoAsync(__A0)
  1653. #endif
  1654. extern pascal OSErr PBHGetVInfoAsync(HParmBlkPtr paramBlock)
  1655.  ONEWORDINLINE(0xA607);
  1656.  
  1657. #if !GENERATINGCFM
  1658. #pragma parameter __D0 PBHOpenSync(__A0)
  1659. #endif
  1660. extern pascal OSErr PBHOpenSync(HParmBlkPtr paramBlock)
  1661.  ONEWORDINLINE(0xA200);
  1662.  
  1663. #if !GENERATINGCFM
  1664. #pragma parameter __D0 PBHOpenAsync(__A0)
  1665. #endif
  1666. extern pascal OSErr PBHOpenAsync(HParmBlkPtr paramBlock)
  1667.  ONEWORDINLINE(0xA600);
  1668.  
  1669. #if !GENERATINGCFM
  1670. #pragma parameter __D0 PBHOpenRFSync(__A0)
  1671. #endif
  1672. extern pascal OSErr PBHOpenRFSync(HParmBlkPtr paramBlock)
  1673.  ONEWORDINLINE(0xA20A);
  1674.  
  1675. #if !GENERATINGCFM
  1676. #pragma parameter __D0 PBHOpenRFAsync(__A0)
  1677. #endif
  1678. extern pascal OSErr PBHOpenRFAsync(HParmBlkPtr paramBlock)
  1679.  ONEWORDINLINE(0xA60A);
  1680.  
  1681. #if !GENERATINGCFM
  1682. #pragma parameter __D0 PBHOpenDFSync(__A0)
  1683. #endif
  1684. extern pascal OSErr PBHOpenDFSync(HParmBlkPtr paramBlock)
  1685.  TWOWORDINLINE(0x701A, 0xA260);
  1686.  
  1687. #if !GENERATINGCFM
  1688. #pragma parameter __D0 PBHOpenDFAsync(__A0)
  1689. #endif
  1690. extern pascal OSErr PBHOpenDFAsync(HParmBlkPtr paramBlock)
  1691.  TWOWORDINLINE(0x701A, 0xA660);
  1692.  
  1693. #if !GENERATINGCFM
  1694. #pragma parameter __D0 PBHCreateSync(__A0)
  1695. #endif
  1696. extern pascal OSErr PBHCreateSync(HParmBlkPtr paramBlock)
  1697.  ONEWORDINLINE(0xA208);
  1698.  
  1699. #if !GENERATINGCFM
  1700. #pragma parameter __D0 PBHCreateAsync(__A0)
  1701. #endif
  1702. extern pascal OSErr PBHCreateAsync(HParmBlkPtr paramBlock)
  1703.  ONEWORDINLINE(0xA608);
  1704.  
  1705. #if !GENERATINGCFM
  1706. #pragma parameter __D0 PBHDeleteSync(__A0)
  1707. #endif
  1708. extern pascal OSErr PBHDeleteSync(HParmBlkPtr paramBlock)
  1709.  ONEWORDINLINE(0xA209);
  1710.  
  1711. #if !GENERATINGCFM
  1712. #pragma parameter __D0 PBHDeleteAsync(__A0)
  1713. #endif
  1714. extern pascal OSErr PBHDeleteAsync(HParmBlkPtr paramBlock)
  1715.  ONEWORDINLINE(0xA609);
  1716.  
  1717. #if !GENERATINGCFM
  1718. #pragma parameter __D0 PBHRenameSync(__A0)
  1719. #endif
  1720. extern pascal OSErr PBHRenameSync(HParmBlkPtr paramBlock)
  1721.  ONEWORDINLINE(0xA20B);
  1722.  
  1723. #if !GENERATINGCFM
  1724. #pragma parameter __D0 PBHRenameAsync(__A0)
  1725. #endif
  1726. extern pascal OSErr PBHRenameAsync(HParmBlkPtr paramBlock)
  1727.  ONEWORDINLINE(0xA60B);
  1728.  
  1729. #if !GENERATINGCFM
  1730. #pragma parameter __D0 PBHRstFLockSync(__A0)
  1731. #endif
  1732. extern pascal OSErr PBHRstFLockSync(HParmBlkPtr paramBlock)
  1733.  ONEWORDINLINE(0xA242);
  1734.  
  1735. #if !GENERATINGCFM
  1736. #pragma parameter __D0 PBHRstFLockAsync(__A0)
  1737. #endif
  1738. extern pascal OSErr PBHRstFLockAsync(HParmBlkPtr paramBlock)
  1739.  ONEWORDINLINE(0xA642);
  1740.  
  1741. #if !GENERATINGCFM
  1742. #pragma parameter __D0 PBHSetFLockSync(__A0)
  1743. #endif
  1744. extern pascal OSErr PBHSetFLockSync(HParmBlkPtr paramBlock)
  1745.  ONEWORDINLINE(0xA241);
  1746.  
  1747. #if !GENERATINGCFM
  1748. #pragma parameter __D0 PBHSetFLockAsync(__A0)
  1749. #endif
  1750. extern pascal OSErr PBHSetFLockAsync(HParmBlkPtr paramBlock)
  1751.  ONEWORDINLINE(0xA641);
  1752.  
  1753. #if !GENERATINGCFM
  1754. #pragma parameter __D0 PBHGetFInfoSync(__A0)
  1755. #endif
  1756. extern pascal OSErr PBHGetFInfoSync(HParmBlkPtr paramBlock)
  1757.  ONEWORDINLINE(0xA20C);
  1758.  
  1759. #if !GENERATINGCFM
  1760. #pragma parameter __D0 PBHGetFInfoAsync(__A0)
  1761. #endif
  1762. extern pascal OSErr PBHGetFInfoAsync(HParmBlkPtr paramBlock)
  1763.  ONEWORDINLINE(0xA60C);
  1764.  
  1765. #if !GENERATINGCFM
  1766. #pragma parameter __D0 PBHSetFInfoSync(__A0)
  1767. #endif
  1768. extern pascal OSErr PBHSetFInfoSync(HParmBlkPtr paramBlock)
  1769.  ONEWORDINLINE(0xA20D);
  1770.  
  1771. #if !GENERATINGCFM
  1772. #pragma parameter __D0 PBHSetFInfoAsync(__A0)
  1773. #endif
  1774. extern pascal OSErr PBHSetFInfoAsync(HParmBlkPtr paramBlock)
  1775.  ONEWORDINLINE(0xA60D);
  1776.  
  1777. #if !GENERATINGCFM
  1778. #pragma parameter __D0 PBMakeFSSpecSync(__A0)
  1779. #endif
  1780. extern pascal OSErr PBMakeFSSpecSync(HParmBlkPtr paramBlock)
  1781.  TWOWORDINLINE(0x701B, 0xA260);
  1782.  
  1783. #if !GENERATINGCFM
  1784. #pragma parameter __D0 PBMakeFSSpecAsync(__A0)
  1785. #endif
  1786. extern pascal OSErr PBMakeFSSpecAsync(HParmBlkPtr paramBlock)
  1787.  TWOWORDINLINE(0x701B, 0xA660);
  1788. extern pascal void FInitQueue(void)
  1789.  ONEWORDINLINE(0xA016);
  1790. extern pascal QHdrPtr GetFSQHdr(void)
  1791.  THREEWORDINLINE(0x2EBC, 0x0000, 0x0360);
  1792. extern pascal QHdrPtr GetVCBQHdr(void)
  1793.  THREEWORDINLINE(0x2EBC, 0x0000, 0x0356);
  1794. #if OLDROUTINELOCATIONS
  1795. extern pascal QHdrPtr GetDrvQHdr(void)
  1796.  THREEWORDINLINE(0x2EBC, 0x0000, 0x0308);
  1797. #endif
  1798. extern pascal OSErr HGetVol(StringPtr volName, short *vRefNum, long *dirID);
  1799. extern pascal OSErr HOpen(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum);
  1800. extern pascal OSErr HOpenDF(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum);
  1801. extern pascal OSErr HOpenRF(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum);
  1802. extern pascal OSErr AllocContig(short refNum, long *count);
  1803. extern pascal OSErr HCreate(short vRefNum, long dirID, ConstStr255Param fileName, OSType creator, OSType fileType);
  1804. extern pascal OSErr DirCreate(short vRefNum, long parentDirID, ConstStr255Param directoryName, long *createdDirID);
  1805. extern pascal OSErr HDelete(short vRefNum, long dirID, ConstStr255Param fileName);
  1806. extern pascal OSErr HGetFInfo(short vRefNum, long dirID, ConstStr255Param fileName, FInfo *fndrInfo);
  1807. extern pascal OSErr HSetFInfo(short vRefNum, long dirID, ConstStr255Param fileName, const FInfo *fndrInfo);
  1808. extern pascal OSErr HSetFLock(short vRefNum, long dirID, ConstStr255Param fileName);
  1809. extern pascal OSErr HRstFLock(short vRefNum, long dirID, ConstStr255Param fileName);
  1810. extern pascal OSErr HRename(short vRefNum, long dirID, ConstStr255Param oldName, ConstStr255Param newName);
  1811. extern pascal OSErr CatMove(short vRefNum, long dirID, ConstStr255Param oldName, long newDirID, ConstStr255Param newName);
  1812. extern pascal OSErr OpenWD(short vRefNum, long dirID, long procID, short *wdRefNum);
  1813. extern pascal OSErr CloseWD(short wdRefNum);
  1814. extern pascal OSErr GetWDInfo(short wdRefNum, short *vRefNum, long *dirID, long *procID);
  1815. /*  shared environment  */
  1816.  
  1817. #if !GENERATINGCFM
  1818. #pragma parameter __D0 PBHGetVolParmsSync(__A0)
  1819. #endif
  1820. extern pascal OSErr PBHGetVolParmsSync(HParmBlkPtr paramBlock)
  1821.  TWOWORDINLINE(0x7030, 0xA260);
  1822.  
  1823. #if !GENERATINGCFM
  1824. #pragma parameter __D0 PBHGetVolParmsAsync(__A0)
  1825. #endif
  1826. extern pascal OSErr PBHGetVolParmsAsync(HParmBlkPtr paramBlock)
  1827.  TWOWORDINLINE(0x7030, 0xA660);
  1828.  
  1829. #if !GENERATINGCFM
  1830. #pragma parameter __D0 PBHGetLogInInfoSync(__A0)
  1831. #endif
  1832. extern pascal OSErr PBHGetLogInInfoSync(HParmBlkPtr paramBlock)
  1833.  TWOWORDINLINE(0x7031, 0xA260);
  1834.  
  1835. #if !GENERATINGCFM
  1836. #pragma parameter __D0 PBHGetLogInInfoAsync(__A0)
  1837. #endif
  1838. extern pascal OSErr PBHGetLogInInfoAsync(HParmBlkPtr paramBlock)
  1839.  TWOWORDINLINE(0x7031, 0xA660);
  1840.  
  1841. #if !GENERATINGCFM
  1842. #pragma parameter __D0 PBHGetDirAccessSync(__A0)
  1843. #endif
  1844. extern pascal OSErr PBHGetDirAccessSync(HParmBlkPtr paramBlock)
  1845.  TWOWORDINLINE(0x7032, 0xA260);
  1846.  
  1847. #if !GENERATINGCFM
  1848. #pragma parameter __D0 PBHGetDirAccessAsync(__A0)
  1849. #endif
  1850. extern pascal OSErr PBHGetDirAccessAsync(HParmBlkPtr paramBlock)
  1851.  TWOWORDINLINE(0x7032, 0xA660);
  1852.  
  1853. #if !GENERATINGCFM
  1854. #pragma parameter __D0 PBHSetDirAccessSync(__A0)
  1855. #endif
  1856. extern pascal OSErr PBHSetDirAccessSync(HParmBlkPtr paramBlock)
  1857.  TWOWORDINLINE(0x7033, 0xA260);
  1858.  
  1859. #if !GENERATINGCFM
  1860. #pragma parameter __D0 PBHSetDirAccessAsync(__A0)
  1861. #endif
  1862. extern pascal OSErr PBHSetDirAccessAsync(HParmBlkPtr paramBlock)
  1863.  TWOWORDINLINE(0x7033, 0xA660);
  1864.  
  1865. #if !GENERATINGCFM
  1866. #pragma parameter __D0 PBHMapIDSync(__A0)
  1867. #endif
  1868. extern pascal OSErr PBHMapIDSync(HParmBlkPtr paramBlock)
  1869.  TWOWORDINLINE(0x7034, 0xA260);
  1870.  
  1871. #if !GENERATINGCFM
  1872. #pragma parameter __D0 PBHMapIDAsync(__A0)
  1873. #endif
  1874. extern pascal OSErr PBHMapIDAsync(HParmBlkPtr paramBlock)
  1875.  TWOWORDINLINE(0x7034, 0xA660);
  1876.  
  1877. #if !GENERATINGCFM
  1878. #pragma parameter __D0 PBHMapNameSync(__A0)
  1879. #endif
  1880. extern pascal OSErr PBHMapNameSync(HParmBlkPtr paramBlock)
  1881.  TWOWORDINLINE(0x7035, 0xA260);
  1882.  
  1883. #if !GENERATINGCFM
  1884. #pragma parameter __D0 PBHMapNameAsync(__A0)
  1885. #endif
  1886. extern pascal OSErr PBHMapNameAsync(HParmBlkPtr paramBlock)
  1887.  TWOWORDINLINE(0x7035, 0xA660);
  1888.  
  1889. #if !GENERATINGCFM
  1890. #pragma parameter __D0 PBHCopyFileSync(__A0)
  1891. #endif
  1892. extern pascal OSErr PBHCopyFileSync(HParmBlkPtr paramBlock)
  1893.  TWOWORDINLINE(0x7036, 0xA260);
  1894.  
  1895. #if !GENERATINGCFM
  1896. #pragma parameter __D0 PBHCopyFileAsync(__A0)
  1897. #endif
  1898. extern pascal OSErr PBHCopyFileAsync(HParmBlkPtr paramBlock)
  1899.  TWOWORDINLINE(0x7036, 0xA660);
  1900.  
  1901. #if !GENERATINGCFM
  1902. #pragma parameter __D0 PBHMoveRenameSync(__A0)
  1903. #endif
  1904. extern pascal OSErr PBHMoveRenameSync(HParmBlkPtr paramBlock)
  1905.  TWOWORDINLINE(0x7037, 0xA260);
  1906.  
  1907. #if !GENERATINGCFM
  1908. #pragma parameter __D0 PBHMoveRenameAsync(__A0)
  1909. #endif
  1910. extern pascal OSErr PBHMoveRenameAsync(HParmBlkPtr paramBlock)
  1911.  TWOWORDINLINE(0x7037, 0xA660);
  1912.  
  1913. #if !GENERATINGCFM
  1914. #pragma parameter __D0 PBHOpenDenySync(__A0)
  1915. #endif
  1916. extern pascal OSErr PBHOpenDenySync(HParmBlkPtr paramBlock)
  1917.  TWOWORDINLINE(0x7038, 0xA260);
  1918.  
  1919. #if !GENERATINGCFM
  1920. #pragma parameter __D0 PBHOpenDenyAsync(__A0)
  1921. #endif
  1922. extern pascal OSErr PBHOpenDenyAsync(HParmBlkPtr paramBlock)
  1923.  TWOWORDINLINE(0x7038, 0xA660);
  1924.  
  1925. #if !GENERATINGCFM
  1926. #pragma parameter __D0 PBHOpenRFDenySync(__A0)
  1927. #endif
  1928. extern pascal OSErr PBHOpenRFDenySync(HParmBlkPtr paramBlock)
  1929.  TWOWORDINLINE(0x7039, 0xA260);
  1930.  
  1931. #if !GENERATINGCFM
  1932. #pragma parameter __D0 PBHOpenRFDenyAsync(__A0)
  1933. #endif
  1934. extern pascal OSErr PBHOpenRFDenyAsync(HParmBlkPtr paramBlock)
  1935.  TWOWORDINLINE(0x7039, 0xA660);
  1936.  
  1937. #if !GENERATINGCFM
  1938. #pragma parameter __D0 PBExchangeFilesSync(__A0)
  1939. #endif
  1940. extern pascal OSErr PBExchangeFilesSync(HParmBlkPtr paramBlock)
  1941.  TWOWORDINLINE(0x7017, 0xA260);
  1942.  
  1943. #if !GENERATINGCFM
  1944. #pragma parameter __D0 PBExchangeFilesAsync(__A0)
  1945. #endif
  1946. extern pascal OSErr PBExchangeFilesAsync(HParmBlkPtr paramBlock)
  1947.  TWOWORDINLINE(0x7017, 0xA660);
  1948.  
  1949. #if !GENERATINGCFM
  1950. #pragma parameter __D0 PBCreateFileIDRefSync(__A0)
  1951. #endif
  1952. extern pascal OSErr PBCreateFileIDRefSync(HParmBlkPtr paramBlock)
  1953.  TWOWORDINLINE(0x7014, 0xA260);
  1954.  
  1955. #if !GENERATINGCFM
  1956. #pragma parameter __D0 PBCreateFileIDRefAsync(__A0)
  1957. #endif
  1958. extern pascal OSErr PBCreateFileIDRefAsync(HParmBlkPtr paramBlock)
  1959.  TWOWORDINLINE(0x7014, 0xA660);
  1960.  
  1961. #if !GENERATINGCFM
  1962. #pragma parameter __D0 PBResolveFileIDRefSync(__A0)
  1963. #endif
  1964. extern pascal OSErr PBResolveFileIDRefSync(HParmBlkPtr paramBlock)
  1965.  TWOWORDINLINE(0x7016, 0xA260);
  1966.  
  1967. #if !GENERATINGCFM
  1968. #pragma parameter __D0 PBResolveFileIDRefAsync(__A0)
  1969. #endif
  1970. extern pascal OSErr PBResolveFileIDRefAsync(HParmBlkPtr paramBlock)
  1971.  TWOWORDINLINE(0x7016, 0xA660);
  1972.  
  1973. #if !GENERATINGCFM
  1974. #pragma parameter __D0 PBDeleteFileIDRefSync(__A0)
  1975. #endif
  1976. extern pascal OSErr PBDeleteFileIDRefSync(HParmBlkPtr paramBlock)
  1977.  TWOWORDINLINE(0x7015, 0xA260);
  1978.  
  1979. #if !GENERATINGCFM
  1980. #pragma parameter __D0 PBDeleteFileIDRefAsync(__A0)
  1981. #endif
  1982. extern pascal OSErr PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock)
  1983.  TWOWORDINLINE(0x7015, 0xA660);
  1984.  
  1985. #if !GENERATINGCFM
  1986. #pragma parameter __D0 PBGetForeignPrivsSync(__A0)
  1987. #endif
  1988. extern pascal OSErr PBGetForeignPrivsSync(HParmBlkPtr paramBlock)
  1989.  TWOWORDINLINE(0x7060, 0xA260);
  1990.  
  1991. #if !GENERATINGCFM
  1992. #pragma parameter __D0 PBGetForeignPrivsAsync(__A0)
  1993. #endif
  1994. extern pascal OSErr PBGetForeignPrivsAsync(HParmBlkPtr paramBlock)
  1995.  TWOWORDINLINE(0x7060, 0xA660);
  1996.  
  1997. #if !GENERATINGCFM
  1998. #pragma parameter __D0 PBSetForeignPrivsSync(__A0)
  1999. #endif
  2000. extern pascal OSErr PBSetForeignPrivsSync(HParmBlkPtr paramBlock)
  2001.  TWOWORDINLINE(0x7061, 0xA260);
  2002.  
  2003. #if !GENERATINGCFM
  2004. #pragma parameter __D0 PBSetForeignPrivsAsync(__A0)
  2005. #endif
  2006. extern pascal OSErr PBSetForeignPrivsAsync(HParmBlkPtr paramBlock)
  2007.  TWOWORDINLINE(0x7061, 0xA660);
  2008. /*  Desktop Manager  */
  2009.  
  2010. #if !GENERATINGCFM
  2011. #pragma parameter __D0 PBDTGetPath(__A0)
  2012. #endif
  2013. extern pascal OSErr PBDTGetPath(DTPBPtr paramBlock)
  2014.  TWOWORDINLINE(0x7020, 0xA260);
  2015.  
  2016. #if !GENERATINGCFM
  2017. #pragma parameter __D0 PBDTCloseDown(__A0)
  2018. #endif
  2019. extern pascal OSErr PBDTCloseDown(DTPBPtr paramBlock)
  2020.  TWOWORDINLINE(0x7021, 0xA260);
  2021.  
  2022. #if !GENERATINGCFM
  2023. #pragma parameter __D0 PBDTAddIconSync(__A0)
  2024. #endif
  2025. extern pascal OSErr PBDTAddIconSync(DTPBPtr paramBlock)
  2026.  TWOWORDINLINE(0x7022, 0xA260);
  2027.  
  2028. #if !GENERATINGCFM
  2029. #pragma parameter __D0 PBDTAddIconAsync(__A0)
  2030. #endif
  2031. extern pascal OSErr PBDTAddIconAsync(DTPBPtr paramBlock)
  2032.  TWOWORDINLINE(0x7022, 0xA660);
  2033.  
  2034. #if !GENERATINGCFM
  2035. #pragma parameter __D0 PBDTGetIconSync(__A0)
  2036. #endif
  2037. extern pascal OSErr PBDTGetIconSync(DTPBPtr paramBlock)
  2038.  TWOWORDINLINE(0x7023, 0xA260);
  2039.  
  2040. #if !GENERATINGCFM
  2041. #pragma parameter __D0 PBDTGetIconAsync(__A0)
  2042. #endif
  2043. extern pascal OSErr PBDTGetIconAsync(DTPBPtr paramBlock)
  2044.  TWOWORDINLINE(0x7023, 0xA660);
  2045.  
  2046. #if !GENERATINGCFM
  2047. #pragma parameter __D0 PBDTGetIconInfoSync(__A0)
  2048. #endif
  2049. extern pascal OSErr PBDTGetIconInfoSync(DTPBPtr paramBlock)
  2050.  TWOWORDINLINE(0x7024, 0xA260);
  2051.  
  2052. #if !GENERATINGCFM
  2053. #pragma parameter __D0 PBDTGetIconInfoAsync(__A0)
  2054. #endif
  2055. extern pascal OSErr PBDTGetIconInfoAsync(DTPBPtr paramBlock)
  2056.  TWOWORDINLINE(0x7024, 0xA660);
  2057.  
  2058. #if !GENERATINGCFM
  2059. #pragma parameter __D0 PBDTAddAPPLSync(__A0)
  2060. #endif
  2061. extern pascal OSErr PBDTAddAPPLSync(DTPBPtr paramBlock)
  2062.  TWOWORDINLINE(0x7025, 0xA260);
  2063.  
  2064. #if !GENERATINGCFM
  2065. #pragma parameter __D0 PBDTAddAPPLAsync(__A0)
  2066. #endif
  2067. extern pascal OSErr PBDTAddAPPLAsync(DTPBPtr paramBlock)
  2068.  TWOWORDINLINE(0x7025, 0xA660);
  2069.  
  2070. #if !GENERATINGCFM
  2071. #pragma parameter __D0 PBDTRemoveAPPLSync(__A0)
  2072. #endif
  2073. extern pascal OSErr PBDTRemoveAPPLSync(DTPBPtr paramBlock)
  2074.  TWOWORDINLINE(0x7026, 0xA260);
  2075.  
  2076. #if !GENERATINGCFM
  2077. #pragma parameter __D0 PBDTRemoveAPPLAsync(__A0)
  2078. #endif
  2079. extern pascal OSErr PBDTRemoveAPPLAsync(DTPBPtr paramBlock)
  2080.  TWOWORDINLINE(0x7026, 0xA660);
  2081.  
  2082. #if !GENERATINGCFM
  2083. #pragma parameter __D0 PBDTGetAPPLSync(__A0)
  2084. #endif
  2085. extern pascal OSErr PBDTGetAPPLSync(DTPBPtr paramBlock)
  2086.  TWOWORDINLINE(0x7027, 0xA260);
  2087.  
  2088. #if !GENERATINGCFM
  2089. #pragma parameter __D0 PBDTGetAPPLAsync(__A0)
  2090. #endif
  2091. extern pascal OSErr PBDTGetAPPLAsync(DTPBPtr paramBlock)
  2092.  TWOWORDINLINE(0x7027, 0xA660);
  2093.  
  2094. #if !GENERATINGCFM
  2095. #pragma parameter __D0 PBDTSetCommentSync(__A0)
  2096. #endif
  2097. extern pascal OSErr PBDTSetCommentSync(DTPBPtr paramBlock)
  2098.  TWOWORDINLINE(0x7028, 0xA260);
  2099.  
  2100. #if !GENERATINGCFM
  2101. #pragma parameter __D0 PBDTSetCommentAsync(__A0)
  2102. #endif
  2103. extern pascal OSErr PBDTSetCommentAsync(DTPBPtr paramBlock)
  2104.  TWOWORDINLINE(0x7028, 0xA660);
  2105.  
  2106. #if !GENERATINGCFM
  2107. #pragma parameter __D0 PBDTRemoveCommentSync(__A0)
  2108. #endif
  2109. extern pascal OSErr PBDTRemoveCommentSync(DTPBPtr paramBlock)
  2110.  TWOWORDINLINE(0x7029, 0xA260);
  2111.  
  2112. #if !GENERATINGCFM
  2113. #pragma parameter __D0 PBDTRemoveCommentAsync(__A0)
  2114. #endif
  2115. extern pascal OSErr PBDTRemoveCommentAsync(DTPBPtr paramBlock)
  2116.  TWOWORDINLINE(0x7029, 0xA660);
  2117.  
  2118. #if !GENERATINGCFM
  2119. #pragma parameter __D0 PBDTGetCommentSync(__A0)
  2120. #endif
  2121. extern pascal OSErr PBDTGetCommentSync(DTPBPtr paramBlock)
  2122.  TWOWORDINLINE(0x702A, 0xA260);
  2123.  
  2124. #if !GENERATINGCFM
  2125. #pragma parameter __D0 PBDTGetCommentAsync(__A0)
  2126. #endif
  2127. extern pascal OSErr PBDTGetCommentAsync(DTPBPtr paramBlock)
  2128.  TWOWORDINLINE(0x702A, 0xA660);
  2129.  
  2130. #if !GENERATINGCFM
  2131. #pragma parameter __D0 PBDTFlushSync(__A0)
  2132. #endif
  2133. extern pascal OSErr PBDTFlushSync(DTPBPtr paramBlock)
  2134.  TWOWORDINLINE(0x702B, 0xA260);
  2135.  
  2136. #if !GENERATINGCFM
  2137. #pragma parameter __D0 PBDTFlushAsync(__A0)
  2138. #endif
  2139. extern pascal OSErr PBDTFlushAsync(DTPBPtr paramBlock)
  2140.  TWOWORDINLINE(0x702B, 0xA660);
  2141.  
  2142. #if !GENERATINGCFM
  2143. #pragma parameter __D0 PBDTResetSync(__A0)
  2144. #endif
  2145. extern pascal OSErr PBDTResetSync(DTPBPtr paramBlock)
  2146.  TWOWORDINLINE(0x702C, 0xA260);
  2147.  
  2148. #if !GENERATINGCFM
  2149. #pragma parameter __D0 PBDTResetAsync(__A0)
  2150. #endif
  2151. extern pascal OSErr PBDTResetAsync(DTPBPtr paramBlock)
  2152.  TWOWORDINLINE(0x702C, 0xA660);
  2153.  
  2154. #if !GENERATINGCFM
  2155. #pragma parameter __D0 PBDTGetInfoSync(__A0)
  2156. #endif
  2157. extern pascal OSErr PBDTGetInfoSync(DTPBPtr paramBlock)
  2158.  TWOWORDINLINE(0x702D, 0xA260);
  2159.  
  2160. #if !GENERATINGCFM
  2161. #pragma parameter __D0 PBDTGetInfoAsync(__A0)
  2162. #endif
  2163. extern pascal OSErr PBDTGetInfoAsync(DTPBPtr paramBlock)
  2164.  TWOWORDINLINE(0x702D, 0xA660);
  2165.  
  2166. #if !GENERATINGCFM
  2167. #pragma parameter __D0 PBDTOpenInform(__A0)
  2168. #endif
  2169. extern pascal OSErr PBDTOpenInform(DTPBPtr paramBlock)
  2170.  TWOWORDINLINE(0x702E, 0xA060);
  2171.  
  2172. #if !GENERATINGCFM
  2173. #pragma parameter __D0 PBDTDeleteSync(__A0)
  2174. #endif
  2175. extern pascal OSErr PBDTDeleteSync(DTPBPtr paramBlock)
  2176.  TWOWORDINLINE(0x702F, 0xA060);
  2177.  
  2178. #if !GENERATINGCFM
  2179. #pragma parameter __D0 PBDTDeleteAsync(__A0)
  2180. #endif
  2181. extern pascal OSErr PBDTDeleteAsync(DTPBPtr paramBlock)
  2182.  TWOWORDINLINE(0x702F, 0xA460);
  2183. /*  VolumeMount traps  */
  2184.  
  2185. #if !GENERATINGCFM
  2186. #pragma parameter __D0 PBGetVolMountInfoSize(__A0)
  2187. #endif
  2188. extern pascal OSErr PBGetVolMountInfoSize(ParmBlkPtr paramBlock)
  2189.  TWOWORDINLINE(0x703F, 0xA260);
  2190.  
  2191. #if !GENERATINGCFM
  2192. #pragma parameter __D0 PBGetVolMountInfo(__A0)
  2193. #endif
  2194. extern pascal OSErr PBGetVolMountInfo(ParmBlkPtr paramBlock)
  2195.  TWOWORDINLINE(0x7040, 0xA260);
  2196.  
  2197. #if !GENERATINGCFM
  2198. #pragma parameter __D0 PBVolumeMount(__A0)
  2199. #endif
  2200. extern pascal OSErr PBVolumeMount(ParmBlkPtr paramBlock)
  2201.  TWOWORDINLINE(0x7041, 0xA260);
  2202. /*  FSp traps  */
  2203. extern pascal OSErr FSMakeFSSpec(short vRefNum, long dirID, ConstStr255Param fileName, FSSpec *spec)
  2204.  TWOWORDINLINE(0x7001, 0xAA52);
  2205. extern pascal OSErr FSpOpenDF(const FSSpec *spec, SInt8 permission, short *refNum)
  2206.  TWOWORDINLINE(0x7002, 0xAA52);
  2207. extern pascal OSErr FSpOpenRF(const FSSpec *spec, SInt8 permission, short *refNum)
  2208.  TWOWORDINLINE(0x7003, 0xAA52);
  2209. extern pascal OSErr FSpCreate(const FSSpec *spec, OSType creator, OSType fileType, ScriptCode scriptTag)
  2210.  TWOWORDINLINE(0x7004, 0xAA52);
  2211. extern pascal OSErr FSpDirCreate(const FSSpec *spec, ScriptCode scriptTag, long *createdDirID)
  2212.  TWOWORDINLINE(0x7005, 0xAA52);
  2213. extern pascal OSErr FSpDelete(const FSSpec *spec)
  2214.  TWOWORDINLINE(0x7006, 0xAA52);
  2215. extern pascal OSErr FSpGetFInfo(const FSSpec *spec, FInfo *fndrInfo)
  2216.  TWOWORDINLINE(0x7007, 0xAA52);
  2217. extern pascal OSErr FSpSetFInfo(const FSSpec *spec, const FInfo *fndrInfo)
  2218.  TWOWORDINLINE(0x7008, 0xAA52);
  2219. extern pascal OSErr FSpSetFLock(const FSSpec *spec)
  2220.  TWOWORDINLINE(0x7009, 0xAA52);
  2221. extern pascal OSErr FSpRstFLock(const FSSpec *spec)
  2222.  TWOWORDINLINE(0x700A, 0xAA52);
  2223. extern pascal OSErr FSpRename(const FSSpec *spec, ConstStr255Param newName)
  2224.  TWOWORDINLINE(0x700B, 0xAA52);
  2225. extern pascal OSErr FSpCatMove(const FSSpec *source, const FSSpec *dest)
  2226.  TWOWORDINLINE(0x700C, 0xAA52);
  2227. extern pascal OSErr FSpExchangeFiles(const FSSpec *source, const FSSpec *dest)
  2228.  TWOWORDINLINE(0x700F, 0xAA52);
  2229.  
  2230. #if !GENERATINGCFM
  2231. #pragma parameter __D0 PBShareSync(__A0)
  2232. #endif
  2233. extern pascal OSErr PBShareSync(HParmBlkPtr paramBlock)
  2234.  TWOWORDINLINE(0x7042, 0xA260);
  2235.  
  2236. #if !GENERATINGCFM
  2237. #pragma parameter __D0 PBShareAsync(__A0)
  2238. #endif
  2239. extern pascal OSErr PBShareAsync(HParmBlkPtr paramBlock)
  2240.  TWOWORDINLINE(0x7042, 0xA660);
  2241.  
  2242. #if !GENERATINGCFM
  2243. #pragma parameter __D0 PBUnshareSync(__A0)
  2244. #endif
  2245. extern pascal OSErr PBUnshareSync(HParmBlkPtr paramBlock)
  2246.  TWOWORDINLINE(0x7043, 0xA260);
  2247.  
  2248. #if !GENERATINGCFM
  2249. #pragma parameter __D0 PBUnshareAsync(__A0)
  2250. #endif
  2251. extern pascal OSErr PBUnshareAsync(HParmBlkPtr paramBlock)
  2252.  TWOWORDINLINE(0x7043, 0xA660);
  2253.  
  2254. #if !GENERATINGCFM
  2255. #pragma parameter __D0 PBGetUGEntrySync(__A0)
  2256. #endif
  2257. extern pascal OSErr PBGetUGEntrySync(HParmBlkPtr paramBlock)
  2258.  TWOWORDINLINE(0x7044, 0xA260);
  2259.  
  2260. #if !GENERATINGCFM
  2261. #pragma parameter __D0 PBGetUGEntryAsync(__A0)
  2262. #endif
  2263. extern pascal OSErr PBGetUGEntryAsync(HParmBlkPtr paramBlock)
  2264.  TWOWORDINLINE(0x7044, 0xA660);
  2265. #if OLDROUTINENAMES && !GENERATINGCFM
  2266. /*
  2267.     PBGetAltAccess and PBSetAltAccess are obsolete and will not be supported 
  2268.     on PowerPC. Equivalent functionality is provided by the routines 
  2269.     PBGetForeignPrivs and PBSetForeignPrivs.
  2270. */
  2271.  
  2272. #if !GENERATINGCFM
  2273. #pragma parameter __D0 PBGetAltAccessSync(__A0)
  2274. #endif
  2275. extern pascal OSErr PBGetAltAccessSync(HParmBlkPtr paramBlock)
  2276.  TWOWORDINLINE(0x7060, 0xA060);
  2277.  
  2278. #if !GENERATINGCFM
  2279. #pragma parameter __D0 PBGetAltAccessAsync(__A0)
  2280. #endif
  2281. extern pascal OSErr PBGetAltAccessAsync(HParmBlkPtr paramBlock)
  2282.  TWOWORDINLINE(0x7060, 0xA460);
  2283.  
  2284. #if !GENERATINGCFM
  2285. #pragma parameter __D0 PBSetAltAccessSync(__A0)
  2286. #endif
  2287. extern pascal OSErr PBSetAltAccessSync(HParmBlkPtr paramBlock)
  2288.  TWOWORDINLINE(0x7061, 0xA060);
  2289.  
  2290. #if !GENERATINGCFM
  2291. #pragma parameter __D0 PBSetAltAccessAsync(__A0)
  2292. #endif
  2293. extern pascal OSErr PBSetAltAccessAsync(HParmBlkPtr paramBlock)
  2294.  TWOWORDINLINE(0x7061, 0xA460);
  2295. #define PBSetAltAccess(pb, async) ((async) ? PBSetAltAccessAsync(pb) : PBSetAltAccessSync(pb))
  2296. #define PBGetAltAccess(pb, async) ((async) ? PBGetAltAccessAsync(pb) : PBGetAltAccessSync(pb))
  2297. #endif
  2298. #if OLDROUTINENAMES
  2299. /*
  2300.     The PBxxx() routines are obsolete.  
  2301.     
  2302.     Use the PBxxxSync() or PBxxxAsync() version instead.
  2303. */
  2304. #define PBGetVInfo(pb, async) ((async) ? PBGetVInfoAsync(pb) : PBGetVInfoSync(pb))
  2305. #define PBXGetVolInfo(pb, async) ((async) ? PBXGetVolInfoAsync(pb) : PBXGetVolInfoSync(pb))
  2306. #define PBGetVol(pb, async) ((async) ? PBGetVolAsync(pb) : PBGetVolSync(pb))
  2307. #define PBSetVol(pb, async) ((async) ? PBSetVolAsync(pb) : PBSetVolSync(pb))
  2308. #define PBFlushVol(pb, async) ((async) ? PBFlushVolAsync(pb) : PBFlushVolSync(pb))
  2309. #define PBCreate(pb, async) ((async) ? PBCreateAsync(pb) : PBCreateSync(pb))
  2310. #define PBDelete(pb, async) ((async) ? PBDeleteAsync(pb) : PBDeleteSync(pb))
  2311. #define PBOpenDF(pb, async) ((async) ? PBOpenDFAsync(pb) : PBOpenDFSync(pb))
  2312. #define PBOpenRF(pb, async) ((async) ? PBOpenRFAsync(pb) : PBOpenRFSync(pb))
  2313. #define PBRename(pb, async) ((async) ? PBRenameAsync(pb) : PBRenameSync(pb))
  2314. #define PBGetFInfo(pb, async) ((async) ? PBGetFInfoAsync(pb) : PBGetFInfoSync(pb))
  2315. #define PBSetFInfo(pb, async) ((async) ? PBSetFInfoAsync(pb) : PBSetFInfoSync(pb))
  2316. #define PBSetFLock(pb, async) ((async) ? PBSetFLockAsync(pb) : PBSetFLockSync(pb))
  2317. #define PBRstFLock(pb, async) ((async) ? PBRstFLockAsync(pb) : PBRstFLockSync(pb))
  2318. #define PBSetFVers(pb, async) ((async) ? PBSetFVersAsync(pb) : PBSetFVersSync(pb))
  2319. #define PBAllocate(pb, async) ((async) ? PBAllocateAsync(pb) : PBAllocateSync(pb))
  2320. #define PBGetEOF(pb, async) ((async) ? PBGetEOFAsync(pb) : PBGetEOFSync(pb))
  2321. #define PBSetEOF(pb, async) ((async) ? PBSetEOFAsync(pb) : PBSetEOFSync(pb))
  2322. #define PBGetFPos(pb, async) ((async) ? PBGetFPosAsync(pb) : PBGetFPosSync(pb))
  2323. #define PBSetFPos(pb, async) ((async) ? PBSetFPosAsync(pb) : PBSetFPosSync(pb))
  2324. #define PBFlushFile(pb, async) ((async) ? PBFlushFileAsync(pb) : PBFlushFileSync(pb))
  2325. #define PBCatSearch(pb, async) ((async) ? PBCatSearchAsync(pb) : PBCatSearchSync(pb))
  2326. #define PBOpenWD(pb, async) ((async) ? PBOpenWDAsync(pb) : PBOpenWDSync(pb))
  2327. #define PBCloseWD(pb, async) ((async) ? PBCloseWDAsync(pb) : PBCloseWDSync(pb))
  2328. #define PBHSetVol(pb, async) ((async) ? PBHSetVolAsync(pb) : PBHSetVolSync(pb))
  2329. #define PBHGetVol(pb, async) ((async) ? PBHGetVolAsync(pb) : PBHGetVolSync(pb))
  2330. #define PBCatMove(pb, async) ((async) ? PBCatMoveAsync(pb) : PBCatMoveSync(pb))
  2331. #define PBDirCreate(pb, async) ((async) ? PBDirCreateAsync(pb) : PBDirCreateSync(pb))
  2332. #define PBGetWDInfo(pb, async) ((async) ? PBGetWDInfoAsync(pb) : PBGetWDInfoSync(pb))
  2333. #define PBGetFCBInfo(pb, async) ((async) ? PBGetFCBInfoAsync(pb) : PBGetFCBInfoSync(pb))
  2334. #define PBGetCatInfo(pb, async) ((async) ? PBGetCatInfoAsync(pb) : PBGetCatInfoSync(pb))
  2335. #define PBSetCatInfo(pb, async) ((async) ? PBSetCatInfoAsync(pb) : PBSetCatInfoSync(pb))
  2336. #define PBAllocContig(pb, async) ((async) ? PBAllocContigAsync(pb) : PBAllocContigSync(pb))
  2337. #define PBLockRange(pb, async) ((async) ? PBLockRangeAsync(pb) : PBLockRangeSync(pb))
  2338. #define PBUnlockRange(pb, async) ((async) ? PBUnlockRangeAsync(pb) : PBUnlockRangeSync(pb))
  2339. #define PBSetVInfo(pb, async) ((async) ? PBSetVInfoAsync(pb) : PBSetVInfoSync(pb))
  2340. #define PBHGetVInfo(pb, async) ((async) ? PBHGetVInfoAsync(pb) : PBHGetVInfoSync(pb))
  2341. #define PBHOpen(pb, async) ((async) ? PBHOpenAsync(pb) : PBHOpenSync(pb))
  2342. #define PBHOpenRF(pb, async) ((async) ? PBHOpenRFAsync(pb) : PBHOpenRFSync(pb))
  2343. #define PBHOpenDF(pb, async) ((async) ? PBHOpenDFAsync(pb) : PBHOpenDFSync(pb))
  2344. #define PBHCreate(pb, async) ((async) ? PBHCreateAsync(pb) : PBHCreateSync(pb))
  2345. #define PBHDelete(pb, async) ((async) ? PBHDeleteAsync(pb) : PBHDeleteSync(pb))
  2346. #define PBHRename(pb, async) ((async) ? PBHRenameAsync(pb) : PBHRenameSync(pb))
  2347. #define PBHRstFLock(pb, async) ((async) ? PBHRstFLockAsync(pb) : PBHRstFLockSync(pb))
  2348. #define PBHSetFLock(pb, async) ((async) ? PBHSetFLockAsync(pb) : PBHSetFLockSync(pb))
  2349. #define PBHGetFInfo(pb, async) ((async) ? PBHGetFInfoAsync(pb) : PBHGetFInfoSync(pb))
  2350. #define PBHSetFInfo(pb, async) ((async) ? PBHSetFInfoAsync(pb) : PBHSetFInfoSync(pb))
  2351. #define PBMakeFSSpec(pb, async) ((async) ? PBMakeFSSpecAsync(pb) : PBMakeFSSpecSync(pb))
  2352. #define PBHGetVolParms(pb, async) ((async) ? PBHGetVolParmsAsync(pb) : PBHGetVolParmsSync(pb))
  2353. #define PBHGetLogInInfo(pb, async) ((async) ? PBHGetLogInInfoAsync(pb) : PBHGetLogInInfoSync(pb))
  2354. #define PBHGetDirAccess(pb, async) ((async) ? PBHGetDirAccessAsync(pb) : PBHGetDirAccessSync(pb))
  2355. #define PBHSetDirAccess(pb, async) ((async) ? PBHSetDirAccessAsync(pb) : PBHSetDirAccessSync(pb))
  2356. #define PBHMapID(pb, async) ((async) ? PBHMapIDAsync(pb) : PBHMapIDSync(pb))
  2357. #define PBHMapName(pb, async) ((async) ? PBHMapNameAsync(pb) : PBHMapNameSync(pb))
  2358. #define PBHCopyFile(pb, async) ((async) ? PBHCopyFileAsync(pb) : PBHCopyFileSync(pb))
  2359. #define PBHMoveRename(pb, async) ((async) ? PBHMoveRenameAsync(pb) : PBHMoveRenameSync(pb))
  2360. #define PBHOpenDeny(pb, async) ((async) ? PBHOpenDenyAsync(pb) : PBHOpenDenySync(pb))
  2361. #define PBHOpenRFDeny(pb, async) ((async) ? PBHOpenRFDenyAsync(pb) : PBHOpenRFDenySync(pb))
  2362. #define PBExchangeFiles(pb, async) ((async) ? PBExchangeFilesAsync(pb) : PBExchangeFilesSync(pb))
  2363. #define PBCreateFileIDRef(pb, async) ((async) ? PBCreateFileIDRefAsync(pb) : PBCreateFileIDRefSync(pb))
  2364. #define PBResolveFileIDRef(pb, async) ((async) ? PBResolveFileIDRefAsync(pb) : PBResolveFileIDRefSync(pb))
  2365. #define PBDeleteFileIDRef(pb, async) ((async) ? PBDeleteFileIDRefAsync(pb) : PBDeleteFileIDRefSync(pb))
  2366. #define PBGetForeignPrivs(pb, async) ((async) ? PBGetForeignPrivsAsync(pb) : PBGetForeignPrivsSync(pb))
  2367. #define PBSetForeignPrivs(pb, async) ((async) ? PBSetForeignPrivsAsync(pb) : PBSetForeignPrivsSync(pb))
  2368. #define PBDTAddIcon(pb, async) ((async) ? PBDTAddIconAsync(pb) : PBDTAddIconSync(pb))
  2369. #define PBDTGetIcon(pb, async) ((async) ? PBDTGetIconAsync(pb) : PBDTGetIconSync(pb))
  2370. #define PBDTGetIconInfo(pb, async) ((async) ? PBDTGetIconInfoAsync(pb) : PBDTGetIconInfoSync(pb))
  2371. #define PBDTAddAPPL(pb, async) ((async) ? PBDTAddAPPLAsync(pb) : PBDTAddAPPLSync(pb))
  2372. #define PBDTRemoveAPPL(pb, async) ((async) ? PBDTRemoveAPPLAsync(pb) : PBDTRemoveAPPLSync(pb))
  2373. #define PBDTGetAPPL(pb, async) ((async) ? PBDTGetAPPLAsync(pb) : PBDTGetAPPLSync(pb))
  2374. #define PBDTSetComment(pb, async) ((async) ? PBDTSetCommentAsync(pb) : PBDTSetCommentSync(pb))
  2375. #define PBDTRemoveComment(pb, async) ((async) ? PBDTRemoveCommentAsync(pb) : PBDTRemoveCommentSync(pb))
  2376. #define PBDTGetComment(pb, async) ((async) ? PBDTGetCommentAsync(pb) : PBDTGetCommentSync(pb))
  2377. #define PBDTFlush(pb, async) ((async) ? PBDTFlushAsync(pb) : PBDTFlushSync(pb))
  2378. #define PBDTReset(pb, async) ((async) ? PBDTResetAsync(pb) : PBDTResetSync(pb))
  2379. #define PBDTGetInfo(pb, async) ((async) ? PBDTGetInfoAsync(pb) : PBDTGetInfoSync(pb))
  2380. #define PBDTDelete(pb, async) ((async) ? PBDTDeleteAsync(pb) : PBDTDeleteSync(pb))
  2381. #if OLDROUTINELOCATIONS
  2382. #define PBOpen(pb, async) ((async) ? PBOpenAsync(pb) : PBOpenSync(pb))
  2383. #define PBClose(pb, async) ((async) ? PBCloseAsync(pb) : PBCloseSync(pb))
  2384. #define PBRead(pb, async) ((async) ? PBReadAsync(pb) : PBReadSync(pb))
  2385. #define PBWrite(pb, async) ((async) ? PBWriteAsync(pb) : PBWriteSync(pb))
  2386. #endif
  2387. #endif
  2388.  
  2389. #if PRAGMA_IMPORT_SUPPORTED
  2390. #pragma import off
  2391. #endif
  2392.  
  2393. #if PRAGMA_ALIGN_SUPPORTED
  2394. #pragma options align=reset
  2395. #endif
  2396.  
  2397. #ifdef __cplusplus
  2398. }
  2399. #endif
  2400.  
  2401. #endif /* __FILES__ */
  2402.