home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1995 March / Macworld CD-ROM (March 1995).cdr / Updaters / Symantec C++ 6.0.1 Update / Library Updates / Mac #includes / Apple #includes / Files.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-18  |  49.7 KB  |  1,561 lines  |  [TEXT/KAHL]

  1.  
  2. /************************************************************
  3.  
  4. Created: Friday, September 13, 1991 at 12:35 PM
  5.  Files.h
  6.  C Interface to the Macintosh Libraries
  7.  
  8.  
  9.   Copyright Apple Computer, Inc. 1985-1991
  10.   All rights reserved
  11.  
  12. ************************************************************/
  13.  
  14.  
  15. #ifndef __FILES__
  16. #define __FILES__
  17.  
  18. #ifndef __TYPES__
  19. #include <Types.h>
  20. #endif
  21.  
  22. #ifndef __OSUTILS__
  23. #include <OSUtils.h>
  24. #endif
  25.  
  26. #ifndef __SEGLOAD__
  27. #include <SegLoad.h>
  28. #endif
  29.  
  30.  
  31. enum {
  32.  
  33.  
  34. /* Finder Constants */
  35.  fsAtMark = 0,
  36.  fOnDesk = 1,
  37.  fsCurPerm = 0,
  38.  fHasBundle = 8192,
  39.  fsRdPerm = 1,
  40.  fInvisible = 16384,
  41.  fTrash = -3,
  42.  fsWrPerm = 2,
  43.  fDesktop = -2,
  44.  fsRdWrPerm = 3,
  45.  fDisk = 0,
  46.  fsRdWrShPerm = 4,
  47.  fsFromStart = 1,
  48.  fsFromLEOF = 2,
  49.  fsFromMark = 3,
  50.  rdVerify = 64,
  51.  ioDirFlg = 3,                        /* see IM IV-125 */
  52.  ioDirMask = 0x10,
  53.  fsRtParID = 1,
  54.  fsRtDirID = 2
  55. };
  56. enum {
  57.  
  58. /* CatSearch SearchBits Constants */
  59.  fsSBPartialName = 1,
  60.  fsSBFullName = 2,
  61.  fsSBFlAttrib = 4,
  62.  fsSBFlFndrInfo = 8,
  63.  fsSBFlLgLen = 32,
  64.  fsSBFlPyLen = 64,
  65.  fsSBFlRLgLen = 128,
  66.  fsSBFlRPyLen = 256,
  67.  fsSBFlCrDat = 512,
  68.  fsSBFlMdDat = 1024,
  69.  fsSBFlBkDat = 2048,
  70.  fsSBFlXFndrInfo = 4096,
  71.  fsSBFlParID = 8192,
  72.  fsSBNegate = 16384,
  73.  fsSBDrUsrWds = 8,
  74.  fsSBDrNmFls = 16,
  75.  fsSBDrCrDat = 512,
  76.  fsSBDrMdDat = 1024,
  77.  fsSBDrBkDat = 2048,
  78.  fsSBDrFndrInfo = 4096
  79. };
  80. enum {
  81.  fsSBDrParID = 8192,
  82.  
  83. /* vMAttrib (GetVolParms) bit position constants */
  84.  bLimitFCBs = 31,
  85.  bLocalWList = 30,
  86.  bNoMiniFndr = 29,
  87.  bNoVNEdit = 28,
  88.  bNoLclSync = 27,
  89.  bTrshOffLine = 26,
  90.  bNoSwitchTo = 25,
  91.  bNoDeskItems = 20,
  92.  bNoBootBlks = 19,
  93.  bAccessCntl = 18,
  94.  bNoSysDir = 17,
  95.  bHasExtFSVol = 16,
  96.  bHasOpenDeny = 15,
  97.  bHasCopyFile = 14,
  98.  bHasMoveRename = 13,
  99.  bHasDesktopMgr = 12,
  100.  bHasShortName = 11,
  101.  bHasFolderLock = 10,
  102.  bHasPersonalAccessPrivileges = 9
  103. };
  104. enum {
  105.  bHasUserGroupList = 8,
  106.  bHasCatSearch = 7,
  107.  bHasFileIDs = 6,
  108.  bHasBTreeMgr = 5,
  109.  bHasBlankAccessPrivileges = 4,
  110.  
  111. /* Desktop Database icon Constants */
  112.  kLargeIcon = 1,
  113.  kLarge4BitIcon = 2,
  114.  kLarge8BitIcon = 3,
  115.  kSmallIcon = 4,
  116.  kSmall4BitIcon = 5,
  117.  kSmall8BitIcon = 6,
  118.  
  119.  kLargeIconSize = 256,
  120.  kLarge4BitIconSize = 512,
  121.  kLarge8BitIconSize = 1024,
  122.  kSmallIconSize = 64,
  123.  kSmall4BitIconSize = 128,
  124.  kSmall8BitIconSize = 256,
  125.  
  126. /* Foreign Privilege Model Identifiers */
  127.  fsUnixPriv = 1,
  128.  
  129. /* Version Release Stage Codes */
  130.  developStage = 0x20,
  131.  alphaStage = 0x40
  132. };
  133. enum {
  134.  betaStage = 0x60,
  135.  finalStage = 0x80,
  136.  
  137. /* Authentication Constants */
  138.  kNoUserAuthentication = 1,
  139.  kPassword = 2,
  140.  kEncryptPassword = 3,
  141.  kTwoWayEncryptPassword = 6
  142. };
  143.  
  144. enum {hFileInfo,dirInfo};
  145. typedef unsigned char CInfoType;
  146.  
  147.  
  148. struct FInfo {
  149.  OSType fdType;                        /*the type of the file*/
  150.  OSType fdCreator;                    /*file's creator*/
  151.  unsigned short fdFlags;            /*flags ex. hasbundle,invisible,locked, etc.*/
  152.  Point fdLocation;                    /*file's location in folder*/
  153.  short fdFldr;                        /*folder containing file*/
  154. };
  155.  
  156. typedef struct FInfo FInfo;
  157.  
  158. struct FXInfo {
  159.  short fdIconID;                    /*Icon ID*/
  160.  short fdUnused[3];                    /*unused but reserved 6 bytes*/
  161.  char fdScript;                        /*Script flag and number*/
  162.  char fdXFlags;                        /*More flag bits*/
  163.  short fdComment;                    /*Comment ID*/
  164.  long fdPutAway;                    /*Home Dir ID*/
  165. };
  166.  
  167. typedef struct FXInfo FXInfo;
  168.  
  169. struct DInfo {
  170.  Rect frRect;                        /*folder rect*/
  171.  unsigned short frFlags;            /*Flags*/
  172.  Point frLocation;                    /*folder location*/
  173.  short frView;                        /*folder view*/
  174. };
  175.  
  176. typedef struct DInfo DInfo;
  177.  
  178. struct DXInfo {
  179.  Point frScroll;                    /*scroll position*/
  180.  long frOpenChain;                    /*DirID chain of open folders*/
  181.  char frScript;                        /*Script flag and number*/
  182.  char frXFlags;                        /*More flag bits*/
  183.  short frComment;                    /*comment*/
  184.  long frPutAway;                    /*DirID*/
  185. };
  186.  
  187. typedef struct DXInfo DXInfo;
  188.  
  189. struct GetVolParmsInfoBuffer {
  190.  short vMVersion;                    /*version number*/
  191.  long vMAttrib;                        /*bit vector of attributes (see vMAttrib constants)*/
  192.  Handle vMLocalHand;                /*handle to private data*/
  193.  long vMServerAdr;                    /*AppleTalk server address or zero*/
  194.  long vMVolumeGrade;                /*approx. speed rating or zero if unrated*/
  195.  short vMForeignPrivID;                /*foreign privilege model supported or zero if none*/
  196. };
  197.  
  198. typedef struct GetVolParmsInfoBuffer GetVolParmsInfoBuffer;
  199.  
  200. #define ParamBlockHeader \
  201.  QElemPtr qLink;                    /*queue link in header*/\
  202.  short qType;                        /*type byte for safety check*/\
  203.  short ioTrap;                        /*FS: the Trap*/\
  204.  Ptr ioCmdAddr;                        /*FS: address to dispatch to*/\
  205.  ProcPtr ioCompletion;              /*completion routine addr (0 for synch calls)*/\
  206.  OSErr ioResult;                    /*result code*/\
  207.  StringPtr ioNamePtr;                  /*ptr to Vol:FileName string*/\
  208.  short ioVRefNum;                   /*volume refnum (DrvNum for Eject and MountVol)*/
  209.  
  210.  
  211. struct IOParam {
  212.  ParamBlockHeader 
  213.  short ioRefNum;                    /*refNum for I/O operation*/
  214.  char ioVersNum;                    /*version number*/
  215.  char ioPermssn;                    /*Open: permissions (byte)*/
  216.  Ptr ioMisc;                        /*Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)*/
  217.  Ptr ioBuffer;                        /*data buffer Ptr*/
  218.  long ioReqCount;                    /*requested byte count; also = ioNewDirID*/
  219.  long ioActCount;                    /*actual byte count completed*/
  220.  short ioPosMode;                    /*initial file positioning*/
  221.  long ioPosOffset;                    /*file position offset*/
  222. };
  223.  
  224. typedef struct IOParam IOParam;
  225.  
  226. struct FileParam {
  227.  ParamBlockHeader 
  228.  short ioFRefNum;                    /*reference number*/
  229.  char ioFVersNum;                    /*version number*/
  230.  char filler1;
  231.  short ioFDirIndex;                    /*GetFInfo directory index*/
  232.  unsigned char ioFlAttrib;            /*GetFInfo: in-use bit=7, lock bit=0*/
  233.  unsigned char ioFlVersNum;            /*file version number*/
  234.  FInfo ioFlFndrInfo;                /*user info*/
  235.  unsigned long ioFlNum;                /*GetFInfo: file number; TF- ioDirID*/
  236.  unsigned short ioFlStBlk;            /*start file block (0 if none)*/
  237.  long ioFlLgLen;                    /*logical length (EOF)*/
  238.  long ioFlPyLen;                    /*physical length*/
  239.  unsigned short ioFlRStBlk;            /*start block rsrc fork*/
  240.  long ioFlRLgLen;                    /*file logical length rsrc fork*/
  241.  long ioFlRPyLen;                    /*file physical length rsrc fork*/
  242.  unsigned long ioFlCrDat;            /*file creation date& time (32 bits in secs)*/
  243.  unsigned long ioFlMdDat;            /*last modified date and time*/
  244. };
  245.  
  246. typedef struct FileParam FileParam;
  247.  
  248. struct VolumeParam {
  249.  ParamBlockHeader 
  250.  long filler2;
  251.  short ioVolIndex;                    /*volume index number*/
  252.  unsigned long ioVCrDate;            /*creation date and time*/
  253.  unsigned long ioVLsBkUp;            /*last backup date and time*/
  254.  unsigned short ioVAtrb;            /*volume attrib*/
  255.  unsigned short ioVNmFls;            /*number of files in directory*/
  256.  unsigned short ioVDirSt;            /*start block of file directory*/
  257.  short ioVBlLn;                        /*GetVolInfo: length of dir in blocks*/
  258.  unsigned short ioVNmAlBlks;        /*GetVolInfo: num blks (of alloc size)*/
  259.  long ioVAlBlkSiz;                    /*GetVolInfo: alloc blk byte size*/
  260.  long ioVClpSiz;                    /*GetVolInfo: bytes to allocate at a time*/
  261.  unsigned short ioAlBlSt;            /*starting disk(512-byte) block in block map*/
  262.  unsigned long ioVNxtFNum;            /*GetVolInfo: next free file number*/
  263.  unsigned short ioVFrBlk;            /*GetVolInfo: # free alloc blks for this vol*/
  264. };
  265.  
  266. typedef struct VolumeParam VolumeParam;
  267.  
  268. struct CntrlParam {
  269.  QElem *qLink;                        /*queue link in header*/
  270.  short qType;                        /*type byte for safety check*/
  271.  short ioTrap;                        /*FS: the Trap*/
  272.  Ptr ioCmdAddr;                        /*FS: address to dispatch to*/
  273.  ProcPtr ioCompletion;                /*completion routine addr (0 for synch calls)*/
  274.  OSErr ioResult;                    /*result code*/
  275.  StringPtr ioNamePtr;                /*ptr to Vol:FileName string*/
  276.  short ioVRefNum;                    /*volume refnum (DrvNum for Eject and MountVol)*/
  277.  short ioCRefNum;                    /*refNum for I/O operation*/
  278.  short csCode;                        /*word for control status code*/
  279.  short csParam[11];                    /*operation-defined parameters*/
  280. };
  281.  
  282. typedef struct CntrlParam CntrlParam;
  283.  
  284. struct SlotDevParam {
  285.  ParamBlockHeader 
  286.  short ioRefNum;
  287.  char ioVersNum;
  288.  char ioPermssn;
  289.  Ptr ioMix;
  290.  short ioFlags;
  291.  char ioSlot;
  292.  char ioID;
  293. };
  294.  
  295. typedef struct SlotDevParam SlotDevParam;
  296.  
  297. struct MultiDevParam {
  298.  ParamBlockHeader 
  299.  short ioRefNum;
  300.  char ioVersNum;
  301.  char ioPermssn;
  302.  Ptr ioMix;
  303.  short ioFlags;
  304.  Ptr ioSEBlkPtr;
  305. };
  306.  
  307. typedef struct MultiDevParam MultiDevParam;
  308.  
  309. union ParamBlockRec {
  310.  IOParam ioParam;
  311.  FileParam fileParam;
  312.  VolumeParam volumeParam;
  313.  CntrlParam cntrlParam;
  314.  SlotDevParam slotDevParam;
  315.  MultiDevParam multiDevParam;
  316. };
  317.  
  318. typedef union ParamBlockRec ParamBlockRec;
  319. typedef ParamBlockRec *ParmBlkPtr;
  320.  
  321. struct HFileInfo {
  322.  ParamBlockHeader 
  323.  short ioFRefNum;
  324.  char ioFVersNum;
  325.  char filler1;
  326.  short ioFDirIndex;
  327.  char ioFlAttrib;
  328.  char filler2;
  329.  FInfo ioFlFndrInfo;
  330.  long ioDirID;
  331.  unsigned short ioFlStBlk;
  332.  long ioFlLgLen;
  333.  long ioFlPyLen;
  334.  unsigned short ioFlRStBlk;
  335.  long ioFlRLgLen;
  336.  long ioFlRPyLen;
  337.  unsigned long ioFlCrDat;
  338.  unsigned long ioFlMdDat;
  339.  unsigned long ioFlBkDat;
  340.  FXInfo ioFlXFndrInfo;
  341.  long ioFlParID;
  342.  long ioFlClpSiz;
  343. };
  344.  
  345. typedef struct HFileInfo HFileInfo;
  346.  
  347. struct DirInfo {
  348.  ParamBlockHeader 
  349.  short ioFRefNum;
  350.  short filler1;
  351.  short ioFDirIndex;
  352.  char ioFlAttrib;
  353.  char filler2;
  354.  DInfo ioDrUsrWds;
  355.  long ioDrDirID;
  356.  unsigned short ioDrNmFls;
  357.  short filler3[9];
  358.  unsigned long ioDrCrDat;
  359.  unsigned long ioDrMdDat;
  360.  unsigned long ioDrBkDat;
  361.  DXInfo ioDrFndrInfo;
  362.  long ioDrParID;
  363. };
  364.  
  365. typedef struct DirInfo DirInfo;
  366.  
  367. union CInfoPBRec {
  368.  HFileInfo hFileInfo;
  369.  DirInfo dirInfo;
  370. };
  371.  
  372. typedef union CInfoPBRec CInfoPBRec;
  373. typedef CInfoPBRec *CInfoPBPtr;
  374.  
  375. struct HIOParam {
  376.  ParamBlockHeader 
  377.  short ioRefNum;
  378.  char ioVersNum;
  379.  char ioPermssn;
  380.  Ptr ioMisc;
  381.  Ptr ioBuffer;
  382.  long ioReqCount;
  383.  long ioActCount;
  384.  short ioPosMode;
  385.  long ioPosOffset;
  386.  short filler1;
  387. };
  388.  
  389. typedef struct HIOParam HIOParam;
  390.  
  391. struct HFileParam {
  392.  ParamBlockHeader 
  393.  short ioFRefNum;
  394.  char ioFVersNum;
  395.  char filler1;
  396.  short ioFDirIndex;
  397.  char ioFlAttrib;
  398.  char ioFlVersNum;
  399.  FInfo ioFlFndrInfo;
  400.  long ioDirID;
  401.  unsigned short ioFlStBlk;
  402.  long ioFlLgLen;
  403.  long ioFlPyLen;
  404.  unsigned short ioFlRStBlk;
  405.  long ioFlRLgLen;
  406.  long ioFlRPyLen;
  407.  unsigned long ioFlCrDat;
  408.  unsigned long ioFlMdDat;
  409. };
  410.  
  411. typedef struct HFileParam HFileParam;
  412.  
  413. struct HVolumeParam {
  414.  ParamBlockHeader 
  415.  long filler2;
  416.  short ioVolIndex;
  417.  unsigned long ioVCrDate;
  418.  unsigned long ioVLsMod;
  419.  short ioVAtrb;
  420.  unsigned short ioVNmFls;
  421.  short ioVBitMap;
  422.  short ioAllocPtr;
  423.  unsigned short ioVNmAlBlks;
  424.  long ioVAlBlkSiz;
  425.  long ioVClpSiz;
  426.  short ioAlBlSt;
  427.  long ioVNxtCNID;
  428.  unsigned short ioVFrBlk;
  429.  unsigned short ioVSigWord;
  430.  short ioVDrvInfo;
  431.  short ioVDRefNum;
  432.  short ioVFSID;
  433.  unsigned long ioVBkUp;
  434.  unsigned short ioVSeqNum;
  435.  long ioVWrCnt;
  436.  long ioVFilCnt;
  437.  long ioVDirCnt;
  438.  long ioVFndrInfo[8];
  439. };
  440.  
  441. typedef struct HVolumeParam HVolumeParam;
  442.  
  443. struct AccessParam {
  444.  ParamBlockHeader 
  445.  short filler3;
  446.  short ioDenyModes;                    /*access rights data*/
  447.  short filler4;
  448.  char filler5;
  449.  char ioACUser;                        /*access rights for directory only*/
  450.  long filler6;
  451.  long ioACOwnerID;                    /*owner ID*/
  452.  long ioACGroupID;                    /*group ID*/
  453.  long ioACAccess;                    /*access rights*/
  454. };
  455.  
  456. typedef struct AccessParam AccessParam;
  457.  
  458. struct ObjParam {
  459.  ParamBlockHeader 
  460.  short filler7;
  461.  short ioObjType;                    /*function code*/
  462.  StringPtr ioObjNamePtr;            /*ptr to returned creator/group name*/
  463.  long ioObjID;                        /*creator/group ID*/
  464.  long ioReqCount;                    /*size of buffer area*/
  465.  long ioActCount;                    /*length of vol parms data*/
  466. };
  467.  
  468. typedef struct ObjParam ObjParam;
  469.  
  470. struct CopyParam {
  471.  ParamBlockHeader 
  472.  short ioDstVRefNum;                /*destination vol identifier*/
  473.  short filler8;
  474.  StringPtr ioNewName;                /*ptr to destination pathname*/
  475.  StringPtr ioCopyName;                /*ptr to optional name*/
  476.  long ioNewDirID;                    /*destination directory ID*/
  477.  long filler14;
  478.  long filler15;
  479.  long ioDirID;                        /*same as in FileParam*/
  480. };
  481.  
  482. typedef struct CopyParam CopyParam;
  483.  
  484. struct WDParam {
  485.  ParamBlockHeader 
  486.  short filler9;
  487.  short ioWDIndex;
  488.  long ioWDProcID;
  489.  short ioWDVRefNum;
  490.  short filler10;
  491.  long filler11;
  492.  long filler12;
  493.  long filler13;
  494.  long ioWDDirID;
  495. };
  496.  
  497. typedef struct WDParam WDParam;
  498.  
  499. struct FIDParam {
  500.  ParamBlockHeader 
  501.  long filler1;
  502.  StringPtr ioDestNamePtr;            /* dest file name */
  503.  long filler2;
  504.  long ioDestDirID;                    /* dest file's directory id */
  505.  long filler3;
  506.  long filler4;
  507.  long ioSrcDirID;                    /* source file's directory id */
  508.  short filler5;
  509.  long ioFileID;                        /* file ID */
  510. };
  511.  
  512. typedef struct FIDParam FIDParam;
  513.  
  514. /* Catalog position record */
  515. struct CatPositionRec {
  516.  long initialize;
  517.  short priv[6];
  518. };
  519.  
  520. typedef struct CatPositionRec CatPositionRec;
  521.  
  522. struct FSSpec {
  523.  short vRefNum;
  524.  long parID;
  525.  Str63 name;
  526. };
  527.  
  528. typedef struct FSSpec FSSpec;
  529. typedef FSSpec *FSSpecPtr, **FSSpecHandle;
  530.  
  531.  
  532. typedef FSSpecPtr FSSpecArrayPtr;    /* pointer to array of FSSpecs */
  533. /* The following are structures to be filled out with the _GetVolMountInfo call
  534.  and passed back into the _VolumeMount call for external file system mounts. */
  535.  
  536. typedef OSType VolumeType;            /* the "signature" of the file system */
  537.  
  538.  
  539.  
  540.  
  541. #define AppleShareMediaType 'afpm'    /* the signature for AppleShare */
  542.  
  543. struct VolMountInfoHeader {
  544.  short length;                        /* length of location data (including self) */
  545.  VolumeType media;                    /* type of media.  Variable length data follows */
  546. };
  547.  
  548. typedef struct VolMountInfoHeader VolMountInfoHeader;
  549. typedef VolMountInfoHeader *VolMountInfoPtr;
  550.  
  551. struct AFPVolMountInfo {
  552.  short length;                        /* length of location data (including self) */
  553.  VolumeType media;                    /* type of media */
  554.  short flags;                        /* bits for no messages, no reconnect */
  555.  char nbpInterval;                    /* NBP Interval parameter (IM2, p.322) */
  556.  char nbpCount;                        /* NBP Interval parameter (IM2, p.322) */
  557.  short uamType;                        /* User Authentication Method */
  558.  short zoneNameOffset;                /* short positive offset from start of struct to Zone Name */
  559.  short serverNameOffset;            /* offset to pascal Server Name string */
  560.  short volNameOffset;                /* offset to pascal Volume Name string */
  561.  short userNameOffset;                /* offset to pascal User Name string */
  562.  short userPasswordOffset;            /* offset to pascal User Password string */
  563.  short volPasswordOffset;            /* offset to pascal Volume Password string */
  564.  char AFPData[144];                    /* variable length data may follow */
  565. };
  566.  
  567. typedef struct AFPVolMountInfo AFPVolMountInfo;
  568. typedef AFPVolMountInfo *AFPVolMountInfoPtr;
  569.  
  570. struct CSParam {
  571.  ParamBlockHeader 
  572.  FSSpecPtr ioMatchPtr;                /* match array */
  573.  long ioReqMatchCount;                /* maximum allowable matches */
  574.  long ioActMatchCount;                /* actual match count */
  575.  long ioSearchBits;                    /* search criteria selector */
  576.  CInfoPBPtr ioSearchInfo1;            /* search values and range lower bounds */
  577.  CInfoPBPtr ioSearchInfo2;            /* search values and range upper bounds */
  578.  long ioSearchTime;                    /* length of time to run search */
  579.  CatPositionRec ioCatPosition;        /* current position in the catalog */
  580.  Ptr ioOptBuffer;                    /* optional performance enhancement buffer */
  581.  long ioOptBufSize;                    /* size of buffer pointed to by ioOptBuffer */
  582. };
  583.  
  584. typedef struct CSParam CSParam;
  585. typedef CSParam *CSParamPtr;
  586.  
  587. struct DTPBRec {
  588.  ParamBlockHeader 
  589.  short ioDTRefNum;                    /* desktop refnum */
  590.  short ioIndex;
  591.  long ioTagInfo;
  592.  Ptr ioDTBuffer;
  593.  long ioDTReqCount;
  594.  long ioDTActCount;
  595.  char ioFiller1;
  596.  char ioIconType;
  597.  short ioFiller2;
  598.  long ioDirID;
  599.  OSType ioFileCreator;
  600.  OSType ioFileType;
  601.  long ioFiller3;
  602.  long ioDTLgLen;
  603.  long ioDTPyLen;
  604.  short ioFiller4[14];
  605.  long ioAPPLParID;
  606. };
  607.  
  608. typedef struct DTPBRec DTPBRec;
  609. typedef DTPBRec *DTPBPtr;
  610.  
  611. struct ForeignPrivParam {
  612.  ParamBlockHeader 
  613.  long ioFiller1;
  614.  long ioFiller2;
  615.  Ptr ioForeignPrivBuffer;
  616.  long ioForeignPrivActCount;
  617.  long ioForeignPrivReqCount;
  618.  long ioFiller3;
  619.  long ioForeignPrivDirID;
  620.  long ioForeignPrivInfo1;
  621.  long ioForeignPrivInfo2;
  622.  long ioForeignPrivInfo3;
  623.  long ioForeignPrivInfo4;
  624. };
  625.  
  626. typedef struct ForeignPrivParam ForeignPrivParam;
  627. typedef ForeignPrivParam *ForeignPrivParamPtr;
  628.  
  629. union HParamBlockRec {
  630.  HIOParam ioParam;
  631.  HFileParam fileParam;
  632.  HVolumeParam volumeParam;
  633.  AccessParam accessParam;
  634.  ObjParam objParam;
  635.  CopyParam copyParam;
  636.  WDParam wdParam;
  637.  FIDParam fidParam;
  638.  CSParam csParam;
  639.  ForeignPrivParam foreignPrivParam;
  640. };
  641.  
  642. typedef union HParamBlockRec HParamBlockRec;
  643. typedef HParamBlockRec *HParmBlkPtr;
  644.  
  645. struct CMovePBRec {
  646.  QElemPtr qLink;
  647.  short qType;
  648.  short ioTrap;
  649.  Ptr ioCmdAddr;
  650.  ProcPtr ioCompletion;
  651.  OSErr ioResult;
  652.  StringPtr ioNamePtr;
  653.  short ioVRefNum;
  654.  long filler1;
  655.  StringPtr ioNewName;
  656.  long filler2;
  657.  long ioNewDirID;
  658.  long filler3[2];
  659.  long ioDirID;
  660. };
  661.  
  662. typedef struct CMovePBRec CMovePBRec;
  663. typedef CMovePBRec *CMovePBPtr;
  664.  
  665. struct WDPBRec {
  666.  QElemPtr qLink;
  667.  short qType;
  668.  short ioTrap;
  669.  Ptr ioCmdAddr;
  670.  ProcPtr ioCompletion;
  671.  OSErr ioResult;
  672.  StringPtr ioNamePtr;
  673.  short ioVRefNum;
  674.  short filler1;
  675.  short ioWDIndex;
  676.  long ioWDProcID;
  677.  short ioWDVRefNum;
  678.  short filler2[7];
  679.  long ioWDDirID;
  680. };
  681.  
  682. typedef struct WDPBRec WDPBRec;
  683. typedef WDPBRec *WDPBPtr;
  684.  
  685. struct FCBPBRec {
  686.  QElemPtr qLink;
  687.  short qType;
  688.  short ioTrap;
  689.  Ptr ioCmdAddr;
  690.  ProcPtr ioCompletion;
  691.  OSErr ioResult;
  692.  StringPtr ioNamePtr;
  693.  short ioVRefNum;
  694.  short ioRefNum;
  695.  short filler;
  696.  short ioFCBIndx;
  697.  short filler1;
  698.  long ioFCBFlNm;
  699.  short ioFCBFlags;
  700.  unsigned short ioFCBStBlk;
  701.  long ioFCBEOF;
  702.  long ioFCBPLen;
  703.  long ioFCBCrPs;
  704.  short ioFCBVRefNum;
  705.  long ioFCBClpSiz;
  706.  long ioFCBParID;
  707. };
  708.  
  709. typedef struct FCBPBRec FCBPBRec;
  710. typedef FCBPBRec *FCBPBPtr;
  711.  
  712. struct VCB {
  713.  QElemPtr qLink;
  714.  short qType;
  715.  short vcbFlags;
  716.  unsigned short vcbSigWord;
  717.  unsigned long vcbCrDate;
  718.  unsigned long vcbLsMod;
  719.  short vcbAtrb;
  720.  unsigned short vcbNmFls;
  721.  short vcbVBMSt;
  722.  short vcbAllocPtr;
  723.  unsigned short vcbNmAlBlks;
  724.  long vcbAlBlkSiz;
  725.  long vcbClpSiz;
  726.  short vcbAlBlSt;
  727.  long vcbNxtCNID;
  728.  unsigned short vcbFreeBks;
  729.  Str27 vcbVN;
  730.  short vcbDrvNum;
  731.  short vcbDRefNum;
  732.  short vcbFSID;
  733.  short vcbVRefNum;
  734.  Ptr vcbMAdr;
  735.  Ptr vcbBufAdr;
  736.  short vcbMLen;
  737.  short vcbDirIndex;
  738.  short vcbDirBlk;
  739.  unsigned long vcbVolBkUp;
  740.  unsigned short vcbVSeqNum;
  741.  long vcbWrCnt;
  742.  long vcbXTClpSiz;
  743.  long vcbCTClpSiz;
  744.  unsigned short vcbNmRtDirs;
  745.  long vcbFilCnt;
  746.  long vcbDirCnt;
  747.  long vcbFndrInfo[8];
  748.  unsigned short vcbVCSize;
  749.  unsigned short vcbVBMCSiz;
  750.  unsigned short vcbCtlCSiz;
  751.  unsigned short vcbXTAlBlks;
  752.  unsigned short vcbCTAlBlks;
  753.  short vcbXTRef;
  754.  short vcbCTRef;
  755.  Ptr vcbCtlBuf;
  756.  long vcbDirIDM;
  757.  short vcbOffsM;
  758. };
  759.  
  760. typedef struct VCB VCB;
  761.  
  762. struct DrvQEl {
  763.  QElemPtr qLink;
  764.  short qType;
  765.  short dQDrive;
  766.  short dQRefNum;
  767.  short dQFSID;
  768.  unsigned short dQDrvSz;
  769.  unsigned short dQDrvSz2;
  770. };
  771.  
  772. typedef struct DrvQEl DrvQEl;
  773. typedef DrvQEl *DrvQElPtr;
  774.  
  775. /* Numeric version part of 'vers' resource */
  776. struct NumVersion {
  777.  unsigned char majorRev;            /*1st part of version number in BCD*/
  778. #if THINK_C || __SC__
  779.     unsigned char minorRev : 4;          /*2nd part is 1 nibble in BCD*/
  780.     unsigned char bugFixRev : 4;         /*3rd part is 1 nibble in BCD*/
  781. #else
  782.     unsigned int minorRev : 4;          /*2nd part is 1 nibble in BCD*/
  783.     unsigned int bugFixRev : 4;         /*3rd part is 1 nibble in BCD*/
  784. #endif
  785.  unsigned char stage;                /*stage code: dev, alpha, beta, final*/
  786.  unsigned char nonRelRev;            /*revision level of non-released version*/
  787. };
  788.  
  789. typedef struct NumVersion NumVersion;
  790.  
  791. /* 'vers' resource format */
  792. struct VersRec {
  793.  NumVersion numericVersion;            /*encoded version number*/
  794.  short countryCode;                    /*country code from intl utilities*/
  795.  Str255 shortVersion;                /*version number string - worst case*/
  796.  Str255 reserved;                    /*longMessage string packed after shortVersion*/
  797. };
  798.  
  799. typedef struct VersRec VersRec;
  800. typedef VersRec *VersRecPtr, **VersRecHndl;
  801.  
  802.  
  803. #ifdef __cplusplus
  804. extern "C" {
  805. #endif
  806. pascal OSErr PBOpen(ParmBlkPtr paramBlock,Boolean async); 
  807. #pragma parameter __D0 PBOpenSync(__A0)
  808. pascal OSErr PBOpenSync(ParmBlkPtr paramBlock)
  809.  = 0xA000; 
  810. #pragma parameter __D0 PBOpenAsync(__A0)
  811. pascal OSErr PBOpenAsync(ParmBlkPtr paramBlock)
  812.  = 0xA400; 
  813. pascal OSErr PBClose(ParmBlkPtr paramBlock,Boolean async); 
  814. #pragma parameter __D0 PBCloseSync(__A0)
  815. pascal OSErr PBCloseSync(ParmBlkPtr paramBlock)
  816.  = 0xA001; 
  817. #pragma parameter __D0 PBCloseAsync(__A0)
  818. pascal OSErr PBCloseAsync(ParmBlkPtr paramBlock)
  819.  = 0xA401; 
  820. pascal OSErr PBRead(ParmBlkPtr paramBlock,Boolean async); 
  821. #pragma parameter __D0 PBReadSync(__A0)
  822. pascal OSErr PBReadSync(ParmBlkPtr paramBlock)
  823.  = 0xA002; 
  824. #pragma parameter __D0 PBReadAsync(__A0)
  825. pascal OSErr PBReadAsync(ParmBlkPtr paramBlock)
  826.  = 0xA402; 
  827. pascal OSErr PBWrite(ParmBlkPtr paramBlock,Boolean async); 
  828. #pragma parameter __D0 PBWriteSync(__A0)
  829. pascal OSErr PBWriteSync(ParmBlkPtr paramBlock)
  830.  = 0xA003; 
  831. #pragma parameter __D0 PBWriteAsync(__A0)
  832. pascal OSErr PBWriteAsync(ParmBlkPtr paramBlock)
  833.  = 0xA403; 
  834. pascal OSErr PBGetVInfo(ParmBlkPtr paramBlock,Boolean async); 
  835. #pragma parameter __D0 PBGetVInfoSync(__A0)
  836. pascal OSErr PBGetVInfoSync(ParmBlkPtr paramBlock)
  837.  = 0xA007; 
  838. #pragma parameter __D0 PBGetVInfoAsync(__A0)
  839. pascal OSErr PBGetVInfoAsync(ParmBlkPtr paramBlock)
  840.  = 0xA407; 
  841. pascal OSErr PBGetVol(ParmBlkPtr paramBlock,Boolean async); 
  842. #pragma parameter __D0 PBGetVolSync(__A0)
  843. pascal OSErr PBGetVolSync(ParmBlkPtr paramBlock)
  844.  = 0xA014; 
  845. #pragma parameter __D0 PBGetVolAsync(__A0)
  846. pascal OSErr PBGetVolAsync(ParmBlkPtr paramBlock)
  847.  = 0xA414; 
  848. pascal OSErr PBSetVol(ParmBlkPtr paramBlock,Boolean async); 
  849. #pragma parameter __D0 PBSetVolSync(__A0)
  850. pascal OSErr PBSetVolSync(ParmBlkPtr paramBlock)
  851.  = 0xA015; 
  852. #pragma parameter __D0 PBSetVolAsync(__A0)
  853. pascal OSErr PBSetVolAsync(ParmBlkPtr paramBlock)
  854.  = 0xA415; 
  855. pascal OSErr PBFlushVol(ParmBlkPtr paramBlock,Boolean async); 
  856. #pragma parameter __D0 PBFlushVolSync(__A0)
  857. pascal OSErr PBFlushVolSync(ParmBlkPtr paramBlock)
  858.  = 0xA013; 
  859. #pragma parameter __D0 PBFlushVolAsync(__A0)
  860. pascal OSErr PBFlushVolAsync(ParmBlkPtr paramBlock)
  861.  = 0xA413; 
  862. pascal OSErr PBCreate(ParmBlkPtr paramBlock,Boolean async); 
  863. #pragma parameter __D0 PBCreateSync(__A0)
  864. pascal OSErr PBCreateSync(ParmBlkPtr paramBlock)
  865.  = 0xA008; 
  866. #pragma parameter __D0 PBCreateAsync(__A0)
  867. pascal OSErr PBCreateAsync(ParmBlkPtr paramBlock)
  868.  = 0xA408; 
  869. pascal OSErr PBDelete(ParmBlkPtr paramBlock,Boolean async); 
  870. #pragma parameter __D0 PBDeleteSync(__A0)
  871. pascal OSErr PBDeleteSync(ParmBlkPtr paramBlock)
  872.  = 0xA009; 
  873. #pragma parameter __D0 PBDeleteAsync(__A0)
  874. pascal OSErr PBDeleteAsync(ParmBlkPtr paramBlock)
  875.  = 0xA409; 
  876. pascal OSErr PBOpenDF(ParmBlkPtr paramBlock,Boolean async); 
  877. #pragma parameter __D0 PBOpenDFSync(__A0)
  878. pascal OSErr PBOpenDFSync(ParmBlkPtr paramBlock)
  879.  = {0x701A,0xA060}; 
  880. #pragma parameter __D0 PBOpenDFAsync(__A0)
  881. pascal OSErr PBOpenDFAsync(ParmBlkPtr paramBlock)
  882.  = {0x701A,0xA460}; 
  883. pascal OSErr PBOpenRF(ParmBlkPtr paramBlock,Boolean async); 
  884. #pragma parameter __D0 PBOpenRFSync(__A0)
  885. pascal OSErr PBOpenRFSync(ParmBlkPtr paramBlock)
  886.  = 0xA00A; 
  887. #pragma parameter __D0 PBOpenRFAsync(__A0)
  888. pascal OSErr PBOpenRFAsync(ParmBlkPtr paramBlock)
  889.  = 0xA40A; 
  890. pascal OSErr PBRename(ParmBlkPtr paramBlock,Boolean async); 
  891. #pragma parameter __D0 PBRenameSync(__A0)
  892. pascal OSErr PBRenameSync(ParmBlkPtr paramBlock)
  893.  = 0xA00B; 
  894. #pragma parameter __D0 PBRenameAsync(__A0)
  895. pascal OSErr PBRenameAsync(ParmBlkPtr paramBlock)
  896.  = 0xA40B; 
  897. pascal OSErr PBGetFInfo(ParmBlkPtr paramBlock,Boolean async); 
  898. #pragma parameter __D0 PBGetFInfoSync(__A0)
  899. pascal OSErr PBGetFInfoSync(ParmBlkPtr paramBlock)
  900.  = 0xA00C; 
  901. #pragma parameter __D0 PBGetFInfoAsync(__A0)
  902. pascal OSErr PBGetFInfoAsync(ParmBlkPtr paramBlock)
  903.  = 0xA40C; 
  904. pascal OSErr PBSetFInfo(ParmBlkPtr paramBlock,Boolean async); 
  905. #pragma parameter __D0 PBSetFInfoSync(__A0)
  906. pascal OSErr PBSetFInfoSync(ParmBlkPtr paramBlock)
  907.  = 0xA00D; 
  908. #pragma parameter __D0 PBSetFInfoAsync(__A0)
  909. pascal OSErr PBSetFInfoAsync(ParmBlkPtr paramBlock)
  910.  = 0xA40D; 
  911. pascal OSErr PBSetFLock(ParmBlkPtr paramBlock,Boolean async); 
  912. #pragma parameter __D0 PBSetFLockSync(__A0)
  913. pascal OSErr PBSetFLockSync(ParmBlkPtr paramBlock)
  914.  = 0xA041; 
  915. #pragma parameter __D0 PBSetFLockAsync(__A0)
  916. pascal OSErr PBSetFLockAsync(ParmBlkPtr paramBlock)
  917.  = 0xA441; 
  918. pascal OSErr PBRstFLock(ParmBlkPtr paramBlock,Boolean async); 
  919. #pragma parameter __D0 PBRstFLockSync(__A0)
  920. pascal OSErr PBRstFLockSync(ParmBlkPtr paramBlock)
  921.  = 0xA042; 
  922. #pragma parameter __D0 PBRstFLockAsync(__A0)
  923. pascal OSErr PBRstFLockAsync(ParmBlkPtr paramBlock)
  924.  = 0xA442; 
  925. pascal OSErr PBSetFVers(ParmBlkPtr paramBlock,Boolean async); 
  926. #pragma parameter __D0 PBSetFVersSync(__A0)
  927. pascal OSErr PBSetFVersSync(ParmBlkPtr paramBlock)
  928.  = 0xA043; 
  929. #pragma parameter __D0 PBSetFVersAsync(__A0)
  930. pascal OSErr PBSetFVersAsync(ParmBlkPtr paramBlock)
  931.  = 0xA443; 
  932. pascal OSErr PBAllocate(ParmBlkPtr paramBlock,Boolean async); 
  933. #pragma parameter __D0 PBAllocateSync(__A0)
  934. pascal OSErr PBAllocateSync(ParmBlkPtr paramBlock)
  935.  = 0xA010; 
  936. #pragma parameter __D0 PBAllocateAsync(__A0)
  937. pascal OSErr PBAllocateAsync(ParmBlkPtr paramBlock)
  938.  = 0xA410; 
  939. pascal OSErr PBGetEOF(ParmBlkPtr paramBlock,Boolean async); 
  940. #pragma parameter __D0 PBGetEOFSync(__A0)
  941. pascal OSErr PBGetEOFSync(ParmBlkPtr paramBlock)
  942.  = 0xA011; 
  943. #pragma parameter __D0 PBGetEOFAsync(__A0)
  944. pascal OSErr PBGetEOFAsync(ParmBlkPtr paramBlock)
  945.  = 0xA411; 
  946. pascal OSErr PBSetEOF(ParmBlkPtr paramBlock,Boolean async); 
  947. #pragma parameter __D0 PBSetEOFSync(__A0)
  948. pascal OSErr PBSetEOFSync(ParmBlkPtr paramBlock)
  949.  = 0xA012; 
  950. #pragma parameter __D0 PBSetEOFAsync(__A0)
  951. pascal OSErr PBSetEOFAsync(ParmBlkPtr paramBlock)
  952.  = 0xA412; 
  953. pascal OSErr PBGetFPos(ParmBlkPtr paramBlock,Boolean async); 
  954. #pragma parameter __D0 PBGetFPosSync(__A0)
  955. pascal OSErr PBGetFPosSync(ParmBlkPtr paramBlock)
  956.  = 0xA018; 
  957. #pragma parameter __D0 PBGetFPosAsync(__A0)
  958. pascal OSErr PBGetFPosAsync(ParmBlkPtr paramBlock)
  959.  = 0xA418; 
  960. pascal OSErr PBSetFPos(ParmBlkPtr paramBlock,Boolean async); 
  961. #pragma parameter __D0 PBSetFPosSync(__A0)
  962. pascal OSErr PBSetFPosSync(ParmBlkPtr paramBlock)
  963.  = 0xA044; 
  964. #pragma parameter __D0 PBSetFPosAsync(__A0)
  965. pascal OSErr PBSetFPosAsync(ParmBlkPtr paramBlock)
  966.  = 0xA444; 
  967. pascal OSErr PBFlushFile(ParmBlkPtr paramBlock,Boolean async); 
  968. #pragma parameter __D0 PBFlushFileSync(__A0)
  969. pascal OSErr PBFlushFileSync(ParmBlkPtr paramBlock)
  970.  = 0xA045; 
  971. #pragma parameter __D0 PBFlushFileAsync(__A0)
  972. pascal OSErr PBFlushFileAsync(ParmBlkPtr paramBlock)
  973.  = 0xA445; 
  974. #pragma parameter __D0 PBMountVol(__A0)
  975. pascal OSErr PBMountVol(ParmBlkPtr paramBlock)
  976.  = 0xA00F; 
  977. #pragma parameter __D0 PBUnmountVol(__A0)
  978. pascal OSErr PBUnmountVol(ParmBlkPtr paramBlock)
  979.  = 0xA00E; 
  980. #pragma parameter __D0 PBEject(__A0)
  981. pascal OSErr PBEject(ParmBlkPtr paramBlock)
  982.  = 0xA017; 
  983. #pragma parameter __D0 PBOffLine(__A0)
  984. pascal OSErr PBOffLine(ParmBlkPtr paramBlock)
  985.  = 0xA035; 
  986.  
  987. pascal OSErr PBCatSearch(CSParamPtr paramBlock,Boolean async); 
  988. #pragma parameter __D0 PBCatSearchSync(__A0)
  989. pascal OSErr PBCatSearchSync(CSParamPtr paramBlock)
  990.  = {0x7018,0xA260}; 
  991. #pragma parameter __D0 PBCatSearchAsync(__A0)
  992. pascal OSErr PBCatSearchAsync(CSParamPtr paramBlock)
  993.  = {0x7018,0xA660}; 
  994.  
  995. pascal void AddDrive(short drvrRefNum,short drvNum,DrvQElPtr qEl); 
  996. pascal OSErr FSOpen(ConstStr255Param fileName,short vRefNum,short *refNum); 
  997. pascal OSErr OpenDF(ConstStr255Param fileName,short vRefNum,short *refNum); 
  998. #if !defined(__SC__) || !defined(THINK_C)
  999. OSErr fsopen(char *fileName,short vRefNum,short *refNum); 
  1000. #endif
  1001. pascal OSErr FSClose(short refNum); 
  1002. pascal OSErr FSRead(short refNum,long *count,void *buffPtr); 
  1003. pascal OSErr FSWrite(short refNum,long *count,const void *buffPtr); 
  1004. pascal OSErr GetVInfo(short drvNum,StringPtr volName,short *vRefNum,long *freeBytes); 
  1005. #if !defined(__SC__) || !defined(THINK_C)
  1006. OSErr getvinfo(short drvNum,char *volName,short *vRefNum,long *freeBytes); 
  1007. #endif
  1008. pascal OSErr GetFInfo(ConstStr255Param fileName,short vRefNum,FInfo *fndrInfo); 
  1009. #if !defined(__SC__) || !defined(THINK_C)
  1010. OSErr getfinfo(char *fileName,short vRefNum,FInfo *fndrInfo); 
  1011. #endif
  1012. pascal OSErr GetVol(StringPtr volName,short *vRefNum); 
  1013. #if !defined(__SC__) || !defined(THINK_C)
  1014. OSErr getvol(char *volName,short *vRefNum); 
  1015. #endif
  1016. pascal OSErr SetVol(StringPtr volName,short vRefNum); 
  1017. #if !defined(__SC__) || !defined(THINK_C)
  1018. OSErr setvol(char *volName,short vRefNum); 
  1019. #endif
  1020. pascal OSErr UnmountVol(StringPtr volName,short vRefNum); 
  1021. #if !defined(__SC__) || !defined(THINK_C)
  1022. OSErr unmountvol(char *volName,short vRefNum); 
  1023. #endif
  1024. pascal OSErr Eject(StringPtr volName,short vRefNum); 
  1025. #if !defined(__SC__) || !defined(THINK_C)
  1026. OSErr eject(char *volName,short vRefNum); 
  1027. #endif
  1028. pascal OSErr FlushVol(StringPtr volName,short vRefNum); 
  1029. #if !defined(__SC__) || !defined(THINK_C)
  1030. OSErr flushvol(char *volName,short vRefNum); 
  1031. #endif
  1032. pascal OSErr Create(ConstStr255Param fileName,short vRefNum,OSType creator,
  1033.  OSType fileType); 
  1034. #if !defined(__SC__) || !defined(THINK_C)
  1035. OSErr create(char *fileName,short vRefNum,OSType creator,OSType fileType); 
  1036. #endif
  1037. pascal OSErr FSDelete(ConstStr255Param fileName,short vRefNum); 
  1038. #if !defined(__SC__) || !defined(THINK_C)
  1039. OSErr fsdelete(char *fileName,short vRefNum); 
  1040. #endif
  1041. pascal OSErr OpenRF(ConstStr255Param fileName,short vRefNum,short *refNum); 
  1042. #if !defined(__SC__) || !defined(THINK_C)
  1043. OSErr openrf(char *fileName,short vRefNum,short *refNum); 
  1044. #endif
  1045. pascal OSErr Rename(ConstStr255Param oldName,short vRefNum,ConstStr255Param newName); 
  1046. #if !defined(__SC__) || !defined(THINK_C)
  1047. OSErr fsrename(char *oldName,short vRefNum,char *newName); 
  1048. #endif
  1049. pascal OSErr SetFInfo(ConstStr255Param fileName,short vRefNum,const FInfo *fndrInfo); 
  1050. #if !defined(__SC__) || !defined(THINK_C)
  1051. OSErr setfinfo(char *fileName,short vRefNum,FInfo *fndrInfo); 
  1052. #endif
  1053. pascal OSErr SetFLock(ConstStr255Param fileName,short vRefNum); 
  1054. #if !defined(__SC__) || !defined(THINK_C)
  1055. OSErr setflock(char *fileName,short vRefNum); 
  1056. #endif
  1057. pascal OSErr RstFLock(ConstStr255Param fileName,short vRefNum); 
  1058. #if !defined(__SC__) || !defined(THINK_C)
  1059. OSErr rstflock(char *fileName,short vRefNum); 
  1060. #endif
  1061. pascal OSErr Allocate(short refNum,long *count); 
  1062. pascal OSErr GetEOF(short refNum,long *logEOF); 
  1063. pascal OSErr SetEOF(short refNum,long logEOF); 
  1064. pascal OSErr GetFPos(short refNum,long *filePos); 
  1065. pascal OSErr SetFPos(short refNum,short posMode,long posOff); 
  1066. pascal OSErr GetVRefNum(short fileRefNum,short *vRefNum); 
  1067.  
  1068. pascal OSErr PBOpenWD(WDPBPtr paramBlock,Boolean async); 
  1069. #pragma parameter __D0 PBOpenWDSync(__A0)
  1070. pascal OSErr PBOpenWDSync(WDPBPtr paramBlock)
  1071.  = {0x7001,0xA260}; 
  1072. #pragma parameter __D0 PBOpenWDAsync(__A0)
  1073. pascal OSErr PBOpenWDAsync(WDPBPtr paramBlock)
  1074.  = {0x7001,0xA660}; 
  1075. pascal OSErr PBCloseWD(WDPBPtr paramBlock,Boolean async); 
  1076. #pragma parameter __D0 PBCloseWDSync(__A0)
  1077. pascal OSErr PBCloseWDSync(WDPBPtr paramBlock)
  1078.  = {0x7002,0xA260}; 
  1079. #pragma parameter __D0 PBCloseWDAsync(__A0)
  1080. pascal OSErr PBCloseWDAsync(WDPBPtr paramBlock)
  1081.  = {0x7002,0xA660}; 
  1082. pascal OSErr PBHSetVol(WDPBPtr paramBlock,Boolean async); 
  1083. #pragma parameter __D0 PBHSetVolSync(__A0)
  1084. pascal OSErr PBHSetVolSync(WDPBPtr paramBlock)
  1085.  = 0xA215; 
  1086. #pragma parameter __D0 PBHSetVolAsync(__A0)
  1087. pascal OSErr PBHSetVolAsync(WDPBPtr paramBlock)
  1088.  = 0xA615; 
  1089. pascal OSErr PBHGetVol(WDPBPtr paramBlock,Boolean async); 
  1090. #pragma parameter __D0 PBHGetVolSync(__A0)
  1091. pascal OSErr PBHGetVolSync(WDPBPtr paramBlock)
  1092.  = 0xA214; 
  1093. #pragma parameter __D0 PBHGetVolAsync(__A0)
  1094. pascal OSErr PBHGetVolAsync(WDPBPtr paramBlock)
  1095.  = 0xA614; 
  1096. pascal OSErr PBCatMove(CMovePBPtr paramBlock,Boolean async); 
  1097. #pragma parameter __D0 PBCatMoveSync(__A0)
  1098. pascal OSErr PBCatMoveSync(CMovePBPtr paramBlock)
  1099.  = {0x7005,0xA260}; 
  1100. #pragma parameter __D0 PBCatMoveAsync(__A0)
  1101. pascal OSErr PBCatMoveAsync(CMovePBPtr paramBlock)
  1102.  = {0x7005,0xA660}; 
  1103. pascal OSErr PBDirCreate(HParmBlkPtr paramBlock,Boolean async); 
  1104. #pragma parameter __D0 PBDirCreateSync(__A0)
  1105. pascal OSErr PBDirCreateSync(HParmBlkPtr paramBlock)
  1106.  = {0x7006,0xA260}; 
  1107. #pragma parameter __D0 PBDirCreateAsync(__A0)
  1108. pascal OSErr PBDirCreateAsync(HParmBlkPtr paramBlock)
  1109.  = {0x7006,0xA660}; 
  1110. pascal OSErr PBGetWDInfo(WDPBPtr paramBlock,Boolean async); 
  1111. #pragma parameter __D0 PBGetWDInfoSync(__A0)
  1112. pascal OSErr PBGetWDInfoSync(WDPBPtr paramBlock)
  1113.  = {0x7007,0xA260}; 
  1114. #pragma parameter __D0 PBGetWDInfoAsync(__A0)
  1115. pascal OSErr PBGetWDInfoAsync(WDPBPtr paramBlock)
  1116.  = {0x7007,0xA660}; 
  1117. pascal OSErr PBGetFCBInfo(FCBPBPtr paramBlock,Boolean async); 
  1118. #pragma parameter __D0 PBGetFCBInfoSync(__A0)
  1119. pascal OSErr PBGetFCBInfoSync(FCBPBPtr paramBlock)
  1120.  = {0x7008,0xA260}; 
  1121. #pragma parameter __D0 PBGetFCBInfoAsync(__A0)
  1122. pascal OSErr PBGetFCBInfoAsync(FCBPBPtr paramBlock)
  1123.  = {0x7008,0xA660}; 
  1124. pascal OSErr PBGetCatInfo(CInfoPBPtr paramBlock,Boolean async); 
  1125. #pragma parameter __D0 PBGetCatInfoSync(__A0)
  1126. pascal OSErr PBGetCatInfoSync(CInfoPBPtr paramBlock)
  1127.  = {0x7009,0xA260}; 
  1128. #pragma parameter __D0 PBGetCatInfoAsync(__A0)
  1129. pascal OSErr PBGetCatInfoAsync(CInfoPBPtr paramBlock)
  1130.  = {0x7009,0xA660}; 
  1131. pascal OSErr PBSetCatInfo(CInfoPBPtr paramBlock,Boolean async); 
  1132. #pragma parameter __D0 PBSetCatInfoSync(__A0)
  1133. pascal OSErr PBSetCatInfoSync(CInfoPBPtr paramBlock)
  1134.  = {0x700A,0xA260}; 
  1135. #pragma parameter __D0 PBSetCatInfoAsync(__A0)
  1136. pascal OSErr PBSetCatInfoAsync(CInfoPBPtr paramBlock)
  1137.  = {0x700A,0xA660}; 
  1138.  
  1139. pascal OSErr PBAllocContig(ParmBlkPtr paramBlock,Boolean async); 
  1140. #pragma parameter __D0 PBAllocContigSync(__A0)
  1141. pascal OSErr PBAllocContigSync(ParmBlkPtr paramBlock)
  1142.  = 0xA210; 
  1143. #pragma parameter __D0 PBAllocContigAsync(__A0)
  1144. pascal OSErr PBAllocContigAsync(ParmBlkPtr paramBlock)
  1145.  = 0xA610; 
  1146. pascal OSErr PBLockRange(ParmBlkPtr paramBlock,Boolean async); 
  1147. #pragma parameter __D0 PBLockRangeSync(__A0)
  1148. pascal OSErr PBLockRangeSync(ParmBlkPtr paramBlock)
  1149.  = {0x7010,0xA260}; 
  1150. #pragma parameter __D0 PBLockRangeAsync(__A0)
  1151. pascal OSErr PBLockRangeAsync(ParmBlkPtr paramBlock)
  1152.  = {0x7010,0xA660}; 
  1153. pascal OSErr PBUnlockRange(ParmBlkPtr paramBlock,Boolean async); 
  1154. #pragma parameter __D0 PBUnlockRangeSync(__A0)
  1155. pascal OSErr PBUnlockRangeSync(ParmBlkPtr paramBlock)
  1156.  = {0x7011,0xA260}; 
  1157. #pragma parameter __D0 PBUnlockRangeAsync(__A0)
  1158. pascal OSErr PBUnlockRangeAsync(ParmBlkPtr paramBlock)
  1159.  = {0x7011,0xA660}; 
  1160. pascal OSErr PBSetVInfo(HParmBlkPtr paramBlock,Boolean async); 
  1161. #pragma parameter __D0 PBSetVInfoSync(__A0)
  1162. pascal OSErr PBSetVInfoSync(HParmBlkPtr paramBlock)
  1163.  = {0x700B,0xA260}; 
  1164. #pragma parameter __D0 PBSetVInfoAsync(__A0)
  1165. pascal OSErr PBSetVInfoAsync(HParmBlkPtr paramBlock)
  1166.  = {0x700B,0xA660}; 
  1167. pascal OSErr PBHGetVInfo(HParmBlkPtr paramBlock,Boolean async); 
  1168. #pragma parameter __D0 PBHGetVInfoSync(__A0)
  1169. pascal OSErr PBHGetVInfoSync(HParmBlkPtr paramBlock)
  1170.  = 0xA207; 
  1171. #pragma parameter __D0 PBHGetVInfoAsync(__A0)
  1172. pascal OSErr PBHGetVInfoAsync(HParmBlkPtr paramBlock)
  1173.  = 0xA607; 
  1174. pascal OSErr PBHOpen(HParmBlkPtr paramBlock,Boolean async); 
  1175. #pragma parameter __D0 PBHOpenSync(__A0)
  1176. pascal OSErr PBHOpenSync(HParmBlkPtr paramBlock)
  1177.  = 0xA200; 
  1178. #pragma parameter __D0 PBHOpenAsync(__A0)
  1179. pascal OSErr PBHOpenAsync(HParmBlkPtr paramBlock)
  1180.  = 0xA600; 
  1181. pascal OSErr PBHOpenRF(HParmBlkPtr paramBlock,Boolean async); 
  1182. #pragma parameter __D0 PBHOpenRFSync(__A0)
  1183. pascal OSErr PBHOpenRFSync(HParmBlkPtr paramBlock)
  1184.  = 0xA20A; 
  1185. #pragma parameter __D0 PBHOpenRFAsync(__A0)
  1186. pascal OSErr PBHOpenRFAsync(HParmBlkPtr paramBlock)
  1187.  = 0xA60A; 
  1188. pascal OSErr PBHOpenDF(HParmBlkPtr paramBlock,Boolean async); 
  1189. #pragma parameter __D0 PBHOpenDFSync(__A0)
  1190. pascal OSErr PBHOpenDFSync(HParmBlkPtr paramBlock)
  1191.  = {0x701A,0xA260}; 
  1192. #pragma parameter __D0 PBHOpenDFAsync(__A0)
  1193. pascal OSErr PBHOpenDFAsync(HParmBlkPtr paramBlock)
  1194.  = {0x701A,0xA660}; 
  1195.  
  1196. pascal OSErr PBHCreate(HParmBlkPtr paramBlock,Boolean async); 
  1197. #pragma parameter __D0 PBHCreateSync(__A0)
  1198. pascal OSErr PBHCreateSync(HParmBlkPtr paramBlock)
  1199.  = 0xA208; 
  1200. #pragma parameter __D0 PBHCreateAsync(__A0)
  1201. pascal OSErr PBHCreateAsync(HParmBlkPtr paramBlock)
  1202.  = 0xA608; 
  1203. pascal OSErr PBHDelete(HParmBlkPtr paramBlock,Boolean async); 
  1204. #pragma parameter __D0 PBHDeleteSync(__A0)
  1205. pascal OSErr PBHDeleteSync(HParmBlkPtr paramBlock)
  1206.  = 0xA209; 
  1207. #pragma parameter __D0 PBHDeleteAsync(__A0)
  1208. pascal OSErr PBHDeleteAsync(HParmBlkPtr paramBlock)
  1209.  = 0xA609; 
  1210. pascal OSErr PBHRename(HParmBlkPtr paramBlock,Boolean async); 
  1211. #pragma parameter __D0 PBHRenameSync(__A0)
  1212. pascal OSErr PBHRenameSync(HParmBlkPtr paramBlock)
  1213.  = 0xA20B; 
  1214. #pragma parameter __D0 PBHRenameAsync(__A0)
  1215. pascal OSErr PBHRenameAsync(HParmBlkPtr paramBlock)
  1216.  = 0xA60B; 
  1217. pascal OSErr PBHRstFLock(HParmBlkPtr paramBlock,Boolean async); 
  1218. #pragma parameter __D0 PBHRstFLockSync(__A0)
  1219. pascal OSErr PBHRstFLockSync(HParmBlkPtr paramBlock)
  1220.  = 0xA242; 
  1221. #pragma parameter __D0 PBHRstFLockAsync(__A0)
  1222. pascal OSErr PBHRstFLockAsync(HParmBlkPtr paramBlock)
  1223.  = 0xA642; 
  1224. pascal OSErr PBHSetFLock(HParmBlkPtr paramBlock,Boolean async); 
  1225. #pragma parameter __D0 PBHSetFLockSync(__A0)
  1226. pascal OSErr PBHSetFLockSync(HParmBlkPtr paramBlock)
  1227.  = 0xA241; 
  1228. #pragma parameter __D0 PBHSetFLockAsync(__A0)
  1229. pascal OSErr PBHSetFLockAsync(HParmBlkPtr paramBlock)
  1230.  = 0xA641; 
  1231. pascal OSErr PBHGetFInfo(HParmBlkPtr paramBlock,Boolean async); 
  1232. #pragma parameter __D0 PBHGetFInfoSync(__A0)
  1233. pascal OSErr PBHGetFInfoSync(HParmBlkPtr paramBlock)
  1234.  = 0xA20C; 
  1235. #pragma parameter __D0 PBHGetFInfoAsync(__A0)
  1236. pascal OSErr PBHGetFInfoAsync(HParmBlkPtr paramBlock)
  1237.  = 0xA60C; 
  1238. pascal OSErr PBHSetFInfo(HParmBlkPtr paramBlock,Boolean async); 
  1239. #pragma parameter __D0 PBHSetFInfoSync(__A0)
  1240. pascal OSErr PBHSetFInfoSync(HParmBlkPtr paramBlock)
  1241.  = 0xA20D; 
  1242. #pragma parameter __D0 PBHSetFInfoAsync(__A0)
  1243. pascal OSErr PBHSetFInfoAsync(HParmBlkPtr paramBlock)
  1244.  = 0xA60D; 
  1245.  
  1246. pascal OSErr PBMakeFSSpec(HParmBlkPtr paramBlock,Boolean async); 
  1247. #pragma parameter __D0 PBMakeFSSpecSync(__A0)
  1248. pascal OSErr PBMakeFSSpecSync(HParmBlkPtr paramBlock)
  1249.  = {0x701B,0xA260}; 
  1250. #pragma parameter __D0 PBMakeFSSpecAsync(__A0)
  1251. pascal OSErr PBMakeFSSpecAsync(HParmBlkPtr paramBlock)
  1252.  = {0x701B,0xA660}; 
  1253.  
  1254. pascal void FInitQueue(void)
  1255.  = 0xA016; 
  1256. #define GetFSQHdr() ((QHdrPtr) 0x0360)
  1257. #define GetDrvQHdr() ((QHdrPtr) 0x0308)
  1258. #define GetVCBQHdr() ((QHdrPtr) 0x0356)
  1259. pascal OSErr HGetVol(StringPtr volName,short *vRefNum,long *dirID); 
  1260. pascal OSErr HSetVol(StringPtr volName,short vRefNum,long dirID); 
  1261. pascal OSErr HOpen(short vRefNum,long dirID,ConstStr255Param fileName,char permission,
  1262.  short *refNum); 
  1263. pascal OSErr HOpenDF(short vRefNum,long dirID,ConstStr255Param fileName,
  1264.  char permission,short *refNum); 
  1265. pascal OSErr HOpenRF(short vRefNum,long dirID,ConstStr255Param fileName,
  1266.  char permission,short *refNum); 
  1267. pascal OSErr AllocContig(short refNum,long *count); 
  1268. pascal OSErr HCreate(short vRefNum,long dirID,ConstStr255Param fileName,
  1269.  OSType creator,OSType fileType); 
  1270. pascal OSErr DirCreate(short vRefNum,long parentDirID,ConstStr255Param directoryName,
  1271.  long *createdDirID); 
  1272. pascal OSErr HDelete(short vRefNum,long dirID,ConstStr255Param fileName); 
  1273. pascal OSErr HGetFInfo(short vRefNum,long dirID,ConstStr255Param fileName,
  1274.  FInfo *fndrInfo); 
  1275. pascal OSErr HSetFInfo(short vRefNum,long dirID,ConstStr255Param fileName,
  1276.  const FInfo *fndrInfo); 
  1277. pascal OSErr HSetFLock(short vRefNum,long dirID,ConstStr255Param fileName); 
  1278. pascal OSErr HRstFLock(short vRefNum,long dirID,ConstStr255Param fileName); 
  1279. pascal OSErr HRename(short vRefNum,long dirID,ConstStr255Param oldName,
  1280.  ConstStr255Param newName); 
  1281. pascal OSErr CatMove(short vRefNum,long dirID,ConstStr255Param oldName,
  1282.  long newDirID,ConstStr255Param newName); 
  1283. pascal OSErr OpenWD(short vRefNum,long dirID,long procID,short *wdRefNum); 
  1284. pascal OSErr CloseWD(short wdRefNum); 
  1285. pascal OSErr GetWDInfo(short wdRefNum,short *vRefNum,long *dirID,long *procID); 
  1286. /*  shared environment  */
  1287. pascal OSErr PBHGetVolParms(HParmBlkPtr paramBlock,Boolean async); 
  1288. #pragma parameter __D0 PBHGetVolParmsSync(__A0)
  1289. pascal OSErr PBHGetVolParmsSync(HParmBlkPtr paramBlock)
  1290.  = {0x7030,0xA260}; 
  1291. #pragma parameter __D0 PBHGetVolParmsAsync(__A0)
  1292. pascal OSErr PBHGetVolParmsAsync(HParmBlkPtr paramBlock)
  1293.  = {0x7030,0xA660}; 
  1294. pascal OSErr PBHGetLogInInfo(HParmBlkPtr paramBlock,Boolean async); 
  1295. #pragma parameter __D0 PBHGetLogInInfoSync(__A0)
  1296. pascal OSErr PBHGetLogInInfoSync(HParmBlkPtr paramBlock)
  1297.  = {0x7031,0xA260}; 
  1298. #pragma parameter __D0 PBHGetLogInInfoAsync(__A0)
  1299. pascal OSErr PBHGetLogInInfoAsync(HParmBlkPtr paramBlock)
  1300.  = {0x7031,0xA660}; 
  1301. pascal OSErr PBHGetDirAccess(HParmBlkPtr paramBlock,Boolean async); 
  1302. #pragma parameter __D0 PBHGetDirAccessSync(__A0)
  1303. pascal OSErr PBHGetDirAccessSync(HParmBlkPtr paramBlock)
  1304.  = {0x7032,0xA260}; 
  1305. #pragma parameter __D0 PBHGetDirAccessAsync(__A0)
  1306. pascal OSErr PBHGetDirAccessAsync(HParmBlkPtr paramBlock)
  1307.  = {0x7032,0xA660}; 
  1308. pascal OSErr PBHSetDirAccess(HParmBlkPtr paramBlock,Boolean async); 
  1309. #pragma parameter __D0 PBHSetDirAccessSync(__A0)
  1310. pascal OSErr PBHSetDirAccessSync(HParmBlkPtr paramBlock)
  1311.  = {0x7033,0xA260}; 
  1312. #pragma parameter __D0 PBHSetDirAccessAsync(__A0)
  1313. pascal OSErr PBHSetDirAccessAsync(HParmBlkPtr paramBlock)
  1314.  = {0x7033,0xA660}; 
  1315. pascal OSErr PBHMapID(HParmBlkPtr paramBlock,Boolean async); 
  1316. #pragma parameter __D0 PBHMapIDSync(__A0)
  1317. pascal OSErr PBHMapIDSync(HParmBlkPtr paramBlock)
  1318.  = {0x7034,0xA260}; 
  1319. #pragma parameter __D0 PBHMapIDAsync(__A0)
  1320. pascal OSErr PBHMapIDAsync(HParmBlkPtr paramBlock)
  1321.  = {0x7034,0xA660}; 
  1322. pascal OSErr PBHMapName(HParmBlkPtr paramBlock,Boolean async); 
  1323. #pragma parameter __D0 PBHMapNameSync(__A0)
  1324. pascal OSErr PBHMapNameSync(HParmBlkPtr paramBlock)
  1325.  = {0x7035,0xA260}; 
  1326. #pragma parameter __D0 PBHMapNameAsync(__A0)
  1327. pascal OSErr PBHMapNameAsync(HParmBlkPtr paramBlock)
  1328.  = {0x7035,0xA660}; 
  1329. pascal OSErr PBHCopyFile(HParmBlkPtr paramBlock,Boolean async); 
  1330. #pragma parameter __D0 PBHCopyFileSync(__A0)
  1331. pascal OSErr PBHCopyFileSync(HParmBlkPtr paramBlock)
  1332.  = {0x7036,0xA260}; 
  1333. #pragma parameter __D0 PBHCopyFileAsync(__A0)
  1334. pascal OSErr PBHCopyFileAsync(HParmBlkPtr paramBlock)
  1335.  = {0x7036,0xA660}; 
  1336. pascal OSErr PBHMoveRename(HParmBlkPtr paramBlock,Boolean async); 
  1337. #pragma parameter __D0 PBHMoveRenameSync(__A0)
  1338. pascal OSErr PBHMoveRenameSync(HParmBlkPtr paramBlock)
  1339.  = {0x7037,0xA260}; 
  1340. #pragma parameter __D0 PBHMoveRenameAsync(__A0)
  1341. pascal OSErr PBHMoveRenameAsync(HParmBlkPtr paramBlock)
  1342.  = {0x7037,0xA660}; 
  1343. pascal OSErr PBHOpenDeny(HParmBlkPtr paramBlock,Boolean async); 
  1344. #pragma parameter __D0 PBHOpenDenySync(__A0)
  1345. pascal OSErr PBHOpenDenySync(HParmBlkPtr paramBlock)
  1346.  = {0x7038,0xA260}; 
  1347. #pragma parameter __D0 PBHOpenDenyAsync(__A0)
  1348. pascal OSErr PBHOpenDenyAsync(HParmBlkPtr paramBlock)
  1349.  = {0x7038,0xA660}; 
  1350. pascal OSErr PBHOpenRFDeny(HParmBlkPtr paramBlock,Boolean async); 
  1351. #pragma parameter __D0 PBHOpenRFDenySync(__A0)
  1352. pascal OSErr PBHOpenRFDenySync(HParmBlkPtr paramBlock)
  1353.  = {0x7039,0xA260}; 
  1354. #pragma parameter __D0 PBHOpenRFDenyAsync(__A0)
  1355. pascal OSErr PBHOpenRFDenyAsync(HParmBlkPtr paramBlock)
  1356.  = {0x7039,0xA660}; 
  1357.  
  1358. pascal OSErr PBExchangeFiles(HParmBlkPtr paramBlock,Boolean async); 
  1359. #pragma parameter __D0 PBExchangeFilesSync(__A0)
  1360. pascal OSErr PBExchangeFilesSync(HParmBlkPtr paramBlock)
  1361.  = {0x7017,0xA260}; 
  1362. #pragma parameter __D0 PBExchangeFilesAsync(__A0)
  1363. pascal OSErr PBExchangeFilesAsync(HParmBlkPtr paramBlock)
  1364.  = {0x7017,0xA660}; 
  1365. pascal OSErr PBCreateFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1366. #pragma parameter __D0 PBCreateFileIDRefSync(__A0)
  1367. pascal OSErr PBCreateFileIDRefSync(HParmBlkPtr paramBlock)
  1368.  = {0x7014,0xA260}; 
  1369. #pragma parameter __D0 PBCreateFileIDRefAsync(__A0)
  1370. pascal OSErr PBCreateFileIDRefAsync(HParmBlkPtr paramBlock)
  1371.  = {0x7014,0xA660}; 
  1372. pascal OSErr PBResolveFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1373. #pragma parameter __D0 PBResolveFileIDRefSync(__A0)
  1374. pascal OSErr PBResolveFileIDRefSync(HParmBlkPtr paramBlock)
  1375.  = {0x7016,0xA260}; 
  1376. #pragma parameter __D0 PBResolveFileIDRefAsync(__A0)
  1377. pascal OSErr PBResolveFileIDRefAsync(HParmBlkPtr paramBlock)
  1378.  = {0x7016,0xA660}; 
  1379. pascal OSErr PBDeleteFileIDRef(HParmBlkPtr paramBlock,Boolean async); 
  1380. #pragma parameter __D0 PBDeleteFileIDRefSync(__A0)
  1381. pascal OSErr PBDeleteFileIDRefSync(HParmBlkPtr paramBlock)
  1382.  = {0x7015,0xA260}; 
  1383. #pragma parameter __D0 PBDeleteFileIDRefAsync(__A0)
  1384. pascal OSErr PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock)
  1385.  = {0x7015,0xA660}; 
  1386.  
  1387. pascal OSErr PBGetForeignPrivs(HParmBlkPtr paramBlock,Boolean async); 
  1388. #pragma parameter __D0 PBGetForeignPrivsSync(__A0)
  1389. pascal OSErr PBGetForeignPrivsSync(HParmBlkPtr paramBlock)
  1390.  = {0x7060,0xA260}; 
  1391. #pragma parameter __D0 PBGetForeignPrivsAsync(__A0)
  1392. pascal OSErr PBGetForeignPrivsAsync(HParmBlkPtr paramBlock)
  1393.  = {0x7060,0xA660}; 
  1394. pascal OSErr PBSetForeignPrivs(HParmBlkPtr paramBlock,Boolean async); 
  1395. #pragma parameter __D0 PBSetForeignPrivsSync(__A0)
  1396. pascal OSErr PBSetForeignPrivsSync(HParmBlkPtr paramBlock)
  1397.  = {0x7061,0xA260}; 
  1398. #pragma parameter __D0 PBSetForeignPrivsAsync(__A0)
  1399. pascal OSErr PBSetForeignPrivsAsync(HParmBlkPtr paramBlock)
  1400.  = {0x7061,0xA660}; 
  1401. /*  Desktop Manager  */
  1402. #pragma parameter __D0 PBDTGetPath(__A0)
  1403. pascal OSErr PBDTGetPath(DTPBPtr paramBlock)
  1404.  = {0x7020,0xA260}; 
  1405. #pragma parameter __D0 PBDTCloseDown(__A0)
  1406. pascal OSErr PBDTCloseDown(DTPBPtr paramBlock)
  1407.  = {0x7021,0xA260}; 
  1408. pascal OSErr PBDTAddIcon(DTPBPtr paramBlock,Boolean async); 
  1409. #pragma parameter __D0 PBDTAddIconSync(__A0)
  1410. pascal OSErr PBDTAddIconSync(DTPBPtr paramBlock)
  1411.  = {0x7022,0xA260}; 
  1412. #pragma parameter __D0 PBDTAddIconAsync(__A0)
  1413. pascal OSErr PBDTAddIconAsync(DTPBPtr paramBlock)
  1414.  = {0x7022,0xA660}; 
  1415. pascal OSErr PBDTGetIcon(DTPBPtr paramBlock,Boolean async); 
  1416. #pragma parameter __D0 PBDTGetIconSync(__A0)
  1417. pascal OSErr PBDTGetIconSync(DTPBPtr paramBlock)
  1418.  = {0x7023,0xA260}; 
  1419. #pragma parameter __D0 PBDTGetIconAsync(__A0)
  1420. pascal OSErr PBDTGetIconAsync(DTPBPtr paramBlock)
  1421.  = {0x7023,0xA660}; 
  1422. pascal OSErr PBDTGetIconInfo(DTPBPtr paramBlock,Boolean async); 
  1423. #pragma parameter __D0 PBDTGetIconInfoSync(__A0)
  1424. pascal OSErr PBDTGetIconInfoSync(DTPBPtr paramBlock)
  1425.  = {0x7024,0xA260}; 
  1426. #pragma parameter __D0 PBDTGetIconInfoAsync(__A0)
  1427. pascal OSErr PBDTGetIconInfoAsync(DTPBPtr paramBlock)
  1428.  = {0x7024,0xA660}; 
  1429. pascal OSErr PBDTAddAPPL(DTPBPtr paramBlock,Boolean async); 
  1430. #pragma parameter __D0 PBDTAddAPPLSync(__A0)
  1431. pascal OSErr PBDTAddAPPLSync(DTPBPtr paramBlock)
  1432.  = {0x7025,0xA260}; 
  1433. #pragma parameter __D0 PBDTAddAPPLAsync(__A0)
  1434. pascal OSErr PBDTAddAPPLAsync(DTPBPtr paramBlock)
  1435.  = {0x7025,0xA660}; 
  1436. pascal OSErr PBDTRemoveAPPL(DTPBPtr paramBlock,Boolean async); 
  1437. #pragma parameter __D0 PBDTRemoveAPPLSync(__A0)
  1438. pascal OSErr PBDTRemoveAPPLSync(DTPBPtr paramBlock)
  1439.  = {0x7026,0xA260}; 
  1440. #pragma parameter __D0 PBDTRemoveAPPLAsync(__A0)
  1441. pascal OSErr PBDTRemoveAPPLAsync(DTPBPtr paramBlock)
  1442.  = {0x7026,0xA660}; 
  1443. pascal OSErr PBDTGetAPPL(DTPBPtr paramBlock,Boolean async); 
  1444. #pragma parameter __D0 PBDTGetAPPLSync(__A0)
  1445. pascal OSErr PBDTGetAPPLSync(DTPBPtr paramBlock)
  1446.  = {0x7027,0xA260}; 
  1447. #pragma parameter __D0 PBDTGetAPPLAsync(__A0)
  1448. pascal OSErr PBDTGetAPPLAsync(DTPBPtr paramBlock)
  1449.  = {0x7027,0xA660}; 
  1450. pascal OSErr PBDTSetComment(DTPBPtr paramBlock,Boolean async); 
  1451. #pragma parameter __D0 PBDTSetCommentSync(__A0)
  1452. pascal OSErr PBDTSetCommentSync(DTPBPtr paramBlock)
  1453.  = {0x7028,0xA260}; 
  1454. #pragma parameter __D0 PBDTSetCommentAsync(__A0)
  1455. pascal OSErr PBDTSetCommentAsync(DTPBPtr paramBlock)
  1456.  = {0x7028,0xA660}; 
  1457. pascal OSErr PBDTRemoveComment(DTPBPtr paramBlock,Boolean async); 
  1458. #pragma parameter __D0 PBDTRemoveCommentSync(__A0)
  1459. pascal OSErr PBDTRemoveCommentSync(DTPBPtr paramBlock)
  1460.  = {0x7029,0xA260}; 
  1461. #pragma parameter __D0 PBDTRemoveCommentAsync(__A0)
  1462. pascal OSErr PBDTRemoveCommentAsync(DTPBPtr paramBlock)
  1463.  = {0x7029,0xA660}; 
  1464. pascal OSErr PBDTGetComment(DTPBPtr paramBlock,Boolean async); 
  1465. #pragma parameter __D0 PBDTGetCommentSync(__A0)
  1466. pascal OSErr PBDTGetCommentSync(DTPBPtr paramBlock)
  1467.  = {0x702A,0xA260}; 
  1468. #pragma parameter __D0 PBDTGetCommentAsync(__A0)
  1469. pascal OSErr PBDTGetCommentAsync(DTPBPtr paramBlock)
  1470.  = {0x702A,0xA660}; 
  1471. pascal OSErr PBDTFlush(DTPBPtr paramBlock,Boolean async); 
  1472. #pragma parameter __D0 PBDTFlushSync(__A0)
  1473. pascal OSErr PBDTFlushSync(DTPBPtr paramBlock)
  1474.  = {0x702B,0xA260}; 
  1475. #pragma parameter __D0 PBDTFlushAsync(__A0)
  1476. pascal OSErr PBDTFlushAsync(DTPBPtr paramBlock)
  1477.  = {0x702B,0xA660}; 
  1478. pascal OSErr PBDTReset(DTPBPtr paramBlock,Boolean async); 
  1479. #pragma parameter __D0 PBDTResetSync(__A0)
  1480. pascal OSErr PBDTResetSync(DTPBPtr paramBlock)
  1481.  = {0x702C,0xA260}; 
  1482. #pragma parameter __D0 PBDTResetAsync(__A0)
  1483. pascal OSErr PBDTResetAsync(DTPBPtr paramBlock)
  1484.  = {0x702C,0xA660}; 
  1485. pascal OSErr PBDTGetInfo(DTPBPtr paramBlock,Boolean async); 
  1486. #pragma parameter __D0 PBDTGetInfoSync(__A0)
  1487. pascal OSErr PBDTGetInfoSync(DTPBPtr paramBlock)
  1488.  = {0x702D,0xA260}; 
  1489. #pragma parameter __D0 PBDTGetInfoAsync(__A0)
  1490. pascal OSErr PBDTGetInfoAsync(DTPBPtr paramBlock)
  1491.  = {0x702D,0xA660}; 
  1492. #pragma parameter __D0 PBDTOpenInform(__A0)
  1493. pascal OSErr PBDTOpenInform(DTPBPtr paramBlock)
  1494.  = {0x702E,0xA060}; 
  1495. pascal OSErr PBDTDelete(DTPBPtr paramBlock,Boolean async); 
  1496. #pragma parameter __D0 PBDTDeleteSync(__A0)
  1497. pascal OSErr PBDTDeleteSync(DTPBPtr paramBlock)
  1498.  = {0x702F,0xA060}; 
  1499. #pragma parameter __D0 PBDTDeleteAsync(__A0)
  1500. pascal OSErr PBDTDeleteAsync(DTPBPtr paramBlock)
  1501.  = {0x702F,0xA460}; 
  1502. /*  VolumeMount traps  */
  1503. #pragma parameter __D0 PBGetVolMountInfoSize(__A0)
  1504. pascal OSErr PBGetVolMountInfoSize(ParmBlkPtr paramBlock)
  1505.  = {0x703F,0xA260}; 
  1506. #pragma parameter __D0 PBGetVolMountInfo(__A0)
  1507. pascal OSErr PBGetVolMountInfo(ParmBlkPtr paramBlock)
  1508.  = {0x7040,0xA260}; 
  1509. #pragma parameter __D0 PBVolumeMount(__A0)
  1510. pascal OSErr PBVolumeMount(ParmBlkPtr paramBlock)
  1511.  = {0x7041,0xA260}; 
  1512. /*  FSp traps  */
  1513. pascal OSErr FSMakeFSSpec(short vRefNum,long dirID,ConstStr255Param fileName,
  1514.  FSSpecPtr spec)
  1515.  = {0x303C,0x0001,0xAA52}; 
  1516. pascal OSErr FSpOpenDF(const FSSpec *spec,char permission,short *refNum)
  1517.  = {0x303C,0x0002,0xAA52}; 
  1518. pascal OSErr FSpOpenRF(const FSSpec  *spec,char permission,short *refNum)
  1519.  = {0x303C,0x0003,0xAA52}; 
  1520. pascal OSErr FSpCreate(const FSSpec  *spec,OSType creator,OSType fileType,
  1521.  ScriptCode scriptTag)
  1522.  = {0x303C,0x0004,0xAA52}; 
  1523. pascal OSErr FSpDirCreate(const FSSpec *spec,ScriptCode scriptTag,long *createdDirID)
  1524.  = {0x303C,0x0005,0xAA52}; 
  1525. pascal OSErr FSpDelete(const FSSpec *spec)
  1526.  = {0x303C,0x0006,0xAA52}; 
  1527. pascal OSErr FSpGetFInfo(const FSSpec *spec,FInfo *fndrInfo)
  1528.  = {0x303C,0x0007,0xAA52}; 
  1529. pascal OSErr FSpSetFInfo(const FSSpec *spec,const FInfo *fndrInfo)
  1530.  = {0x303C,0x0008,0xAA52}; 
  1531. pascal OSErr FSpSetFLock(const FSSpec *spec)
  1532.  = {0x303C,0x0009,0xAA52}; 
  1533. pascal OSErr FSpRstFLock(const FSSpec *spec)
  1534.  = {0x303C,0x000A,0xAA52}; 
  1535. pascal OSErr FSpRename(const FSSpec *spec,ConstStr255Param newName)
  1536.  = {0x303C,0x000B,0xAA52}; 
  1537. pascal OSErr FSpCatMove(const FSSpec *source,const FSSpec *dest)
  1538.  = {0x303C,0x000C,0xAA52}; 
  1539. pascal OSErr FSpExchangeFiles(const FSSpec *source,const FSSpec *dest)
  1540.  = {0x303C,0x000F,0xAA52}; 
  1541. /* Obsoolete names for PBGetForeignPrivs and PBSetForeignPrivs */
  1542. pascal OSErr PBGetAltAccess(HParmBlkPtr paramBlock,Boolean async); 
  1543. #pragma parameter __D0 PBGetAltAccessSync(__A0)
  1544. pascal OSErr PBGetAltAccessSync(HParmBlkPtr paramBlock)
  1545.  = {0x7060,0xA060}; 
  1546. #pragma parameter __D0 PBGetAltAccessAsync(__A0)
  1547. pascal OSErr PBGetAltAccessAsync(HParmBlkPtr paramBlock)
  1548.  = {0x7060,0xA460}; 
  1549. pascal OSErr PBSetAltAccess(HParmBlkPtr paramBlock,Boolean async); 
  1550. #pragma parameter __D0 PBSetAltAccessSync(__A0)
  1551. pascal OSErr PBSetAltAccessSync(HParmBlkPtr paramBlock)
  1552.  = {0x7061,0xA060}; 
  1553. #pragma parameter __D0 PBSetAltAccessAsync(__A0)
  1554. pascal OSErr PBSetAltAccessAsync(HParmBlkPtr paramBlock)
  1555.  = {0x7061,0xA460}; 
  1556. #ifdef __cplusplus
  1557. }
  1558. #endif
  1559.  
  1560. #endif
  1561.