mirror of
https://github.com/byteworksinc/ORCA-C.git
synced 2024-12-22 23:29:27 +00:00
125 lines
4.4 KiB
C
125 lines
4.4 KiB
C
/********************************************
|
|
*
|
|
* Standard File Operations Tool Set
|
|
*
|
|
* Copyright Apple Computer, Inc.1986-92
|
|
* All Rights Reserved
|
|
*
|
|
* Copyright 1992, Byte Works, Inc
|
|
*
|
|
********************************************/
|
|
|
|
#ifndef __TYPES__
|
|
#include <TYPES.h>
|
|
#endif
|
|
|
|
#ifndef __STDFILE__
|
|
#define __STDFILE__
|
|
|
|
/* Error Codes */
|
|
#define badPromptDesc 0x1701
|
|
#define badOrigNameDesc 0x1702
|
|
#define badReplyNameDesc 0x1704
|
|
#define badReplyPathDesc 0x1705
|
|
#define badCall 0x1706
|
|
#define sfNotStarted 0x17FF
|
|
|
|
/* filterProc Result Codes */
|
|
#define noDisplay 0x0000 /* file not to be displayed */
|
|
#define noSelect 0x0001 /* file displayed, but not selectable */
|
|
#define displaySelect 0x0002 /* file displayed and selectable */
|
|
|
|
/* Other Constants */
|
|
#define sfWildAuxType 0x8000
|
|
#define sfMatchFileType 0x8000
|
|
#define sfWildFileType 0x4000
|
|
#define sfMatchAuxType 0x4000
|
|
#define sfDisplayGrey 0x2000
|
|
|
|
#ifndef sfFileTypeEntriesLength /* SFTypeList - default number of FileTypeEntries */
|
|
#define sfFileTypeEntriesLength 0x0005
|
|
#endif
|
|
|
|
typedef struct SFReplyRec {
|
|
Boolean good;
|
|
Word fileType;
|
|
Word auxFileType;
|
|
char filename[16];
|
|
char fullPathname[129];
|
|
} SFReplyRec, *SFReplyRecPtr, **SFReplyRecHndl;
|
|
|
|
struct SFReplyRec2 {
|
|
Boolean good;
|
|
Word fileType;
|
|
LongWord auxType;
|
|
RefDescriptor nameRefDesc;
|
|
Ref nameRef;
|
|
RefDescriptor pathRefDesc;
|
|
Ref pathRef;
|
|
};
|
|
typedef struct SFReplyRec2 SFReplyRec2, *SFReplyRec2Ptr, **SFReplyRec2Hndl;
|
|
|
|
struct fileEntryRec {
|
|
Word fileType;
|
|
unsigned long auxType;
|
|
Byte nameLength;
|
|
Byte prefix1;
|
|
Byte prefix2;
|
|
char name[253];
|
|
};
|
|
typedef struct fileEntryRec fileEntryRec, *fileEntryRecPtr;
|
|
|
|
struct namesHandleRec {
|
|
Word bufferLength;
|
|
fileEntryRec fileEntryArray[1];
|
|
};
|
|
typedef struct namesHandleRec namesHandleRec, *namesHandleRecPtr, **namesHandleRecHndl;
|
|
|
|
struct MultiReplyRecord {
|
|
Word good;
|
|
namesHandleRecHndl namesHandle;
|
|
};
|
|
typedef struct MultiReplyRecord MultiReplyRecord, *MultiReplyPtr;
|
|
|
|
struct SFTypeList {
|
|
Byte numEntries;
|
|
Byte fileTypeEntries[sfFileTypeEntriesLength];
|
|
};
|
|
typedef struct SFTypeList SFTypeList, *SFTypeListPtr, **SFTypeListHndl;
|
|
|
|
struct TypeSelector2 {
|
|
Word flags;
|
|
Word fileType;
|
|
LongWord auxType;
|
|
};
|
|
typedef struct TypeSelector2 TypeSelector2;
|
|
|
|
struct SFTypeList2 {
|
|
Word numEntries;
|
|
TypeSelector2 fileTypeEntries[sfFileTypeEntriesLength];
|
|
};
|
|
typedef struct SFTypeList2 SFTypeList2, *SFTypeList2Ptr, **SFTypeList2Hndl;
|
|
|
|
extern pascal void SFBootInit(void) inline(0x0117,dispatcher);
|
|
extern pascal void SFStartUp(Word, Word) inline(0x0217,dispatcher);
|
|
extern pascal void SFShutDown(void) inline(0x0317,dispatcher);
|
|
extern pascal Word SFVersion(void) inline(0x0417,dispatcher);
|
|
extern pascal void SFReset(void) inline(0x0517,dispatcher);
|
|
extern pascal Boolean SFStatus(void) inline(0x0617,dispatcher);
|
|
extern pascal void SFAllCaps(Boolean) inline(0x0D17,dispatcher);
|
|
extern pascal void SFGetFile(Integer, Integer, Pointer, WordProcPtr, Pointer, SFReplyRecPtr) inline(0x0917,dispatcher);
|
|
extern pascal void SFPGetFile(Integer, Integer, Pointer, WordProcPtr, Pointer, Pointer, VoidProcPtr, SFReplyRecPtr) inline(0x0B17,dispatcher);
|
|
extern pascal void SFPPutFile(Integer, Integer, Pointer, Pointer, Word, Pointer, VoidProcPtr, SFReplyRecPtr) inline(0x0C17,dispatcher);
|
|
extern pascal void SFPutFile(Integer, Integer, Pointer, Pointer, Word, SFReplyRecPtr) inline(0x0A17,dispatcher);
|
|
|
|
extern pascal void SFGetFile2(Integer, Integer, Word, Ref, WordProcPtr, SFTypeList2Ptr, SFReplyRec2Ptr) inline(0x0E17,dispatcher);
|
|
extern pascal void SFMultiGet2(Integer, Integer, Word, Ref, WordProcPtr, SFTypeList2Ptr, MultiReplyPtr) inline(0x1417,dispatcher);
|
|
extern pascal void SFPGetFile2(Integer, Integer, VoidProcPtr, Word, Ref, WordProcPtr, SFTypeList2Ptr, Pointer, VoidProcPtr, SFReplyRec2Ptr) inline(0x1017,dispatcher);
|
|
extern pascal void SFPMultiGet2(Integer, Integer, VoidProcPtr, Word, Ref, WordProcPtr, SFTypeList2Ptr, Pointer, VoidProcPtr, MultiReplyPtr) inline(0x1517,dispatcher);
|
|
extern pascal void SFPPutFile2(Integer, Integer, VoidProcPtr, Word, Ref, Word, Ref, Pointer, VoidProcPtr, SFReplyRec2Ptr) inline(0x1117,dispatcher);
|
|
extern pascal void SFPutFile2(Integer, Integer, Word, Ref, Word, Ref, SFReplyRec2Ptr) inline(0x0F17,dispatcher);
|
|
extern pascal void SFReScan(WordProcPtr, SFTypeList2Ptr) inline(0x1317,dispatcher);
|
|
extern pascal Boolean SFShowInvisible(Word) inline(0x1217,dispatcher);
|
|
|
|
#endif
|