Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

752 lines
24 KiB

/*
File: StandardFile.h
Contains: Standard File package Interfaces.
Version: QuickTime 7.3
Copyright: (c) 2007 (c) 1990-2001 by Apple Computer, Inc., all rights reserved
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __STANDARDFILE__
#define __STANDARDFILE__
#ifndef __MACTYPES__
#include <MacTypes.h>
#endif
#ifndef __DIALOGS__
#include <Dialogs.h>
#endif
#ifndef __FILES__
#include <Files.h>
#endif
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT
#pragma import on
#endif
#if PRAGMA_STRUCT_ALIGN
#pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
#endif
enum {
/* resource IDs of pre-7.0 get and put dialogs */
putDlgID = -3999,
getDlgID = -4000
};
enum {
/* item offsets of pre-7.0 get and put dialogs */
putSave = 1,
putCancel = 2,
putEject = 5,
putDrive = 6,
putName = 7,
getOpen = 1,
getCancel = 3,
getEject = 5,
getDrive = 6,
getNmList = 7,
getScroll = 8
};
enum {
/* resource IDs of 7.0 get and put dialogs */
sfPutDialogID = -6043,
sfGetDialogID = -6042
};
enum {
/* item offsets of 7.0 get and put dialogs */
sfItemOpenButton = 1,
sfItemCancelButton = 2,
sfItemBalloonHelp = 3,
sfItemVolumeUser = 4,
sfItemEjectButton = 5,
sfItemDesktopButton = 6,
sfItemFileListUser = 7,
sfItemPopUpMenuUser = 8,
sfItemDividerLinePict = 9,
sfItemFileNameTextEdit = 10,
sfItemPromptStaticText = 11,
sfItemNewFolderUser = 12
};
enum {
/* pseudo-item hits for use in DlgHook */
sfHookFirstCall = -1,
sfHookCharOffset = 0x1000,
sfHookNullEvent = 100,
sfHookRebuildList = 101,
sfHookFolderPopUp = 102,
sfHookOpenFolder = 103, /* the following are only in system 7.0+ */
sfHookLastCall = -2,
sfHookOpenAlias = 104,
sfHookGoToDesktop = 105,
sfHookGoToAliasTarget = 106,
sfHookGoToParent = 107,
sfHookGoToNextDrive = 108,
sfHookGoToPrevDrive = 109,
sfHookChangeSelection = 110,
sfHookSetActiveOffset = 200
};
/* the refcon field of the dialog record during a
modalfilter or dialoghook contains one of the following */
enum {
sfMainDialogRefCon = FOUR_CHAR_CODE('stdf'),
sfNewFolderDialogRefCon = FOUR_CHAR_CODE('nfdr'),
sfReplaceDialogRefCon = FOUR_CHAR_CODE('rplc'),
sfStatWarnDialogRefCon = FOUR_CHAR_CODE('stat'),
sfLockWarnDialogRefCon = FOUR_CHAR_CODE('lock'),
sfErrorDialogRefCon = FOUR_CHAR_CODE('err ')
};
struct SFReply {
Boolean good;
Boolean copy;
OSType fType;
short vRefNum;
short version;
StrFileName fName; /* a Str63 on MacOS */
};
typedef struct SFReply SFReply;
struct StandardFileReply {
Boolean sfGood;
Boolean sfReplacing;
OSType sfType;
FSSpec sfFile;
ScriptCode sfScript;
short sfFlags;
Boolean sfIsFolder;
Boolean sfIsVolume;
long sfReserved1;
short sfReserved2;
};
typedef struct StandardFileReply StandardFileReply;
/* for CustomXXXFile, ActivationOrderListPtr parameter is a pointer to an array of item numbers */
typedef const short * ActivationOrderListPtr;
typedef CALLBACK_API( short , DlgHookProcPtr )(short item, DialogRef theDialog);
typedef CALLBACK_API( Boolean , FileFilterProcPtr )(CInfoPBPtr pb);
/* the following also include an extra parameter of "your data pointer" */
typedef CALLBACK_API( short , DlgHookYDProcPtr )(short item, DialogRef theDialog, void *yourDataPtr);
/* ModalFilterYDProcPtr moved to Dialogs.h */
typedef CALLBACK_API( Boolean , FileFilterYDProcPtr )(CInfoPBPtr pb, void *yourDataPtr);
typedef CALLBACK_API( void , ActivateYDProcPtr )(DialogRef theDialog, short itemNo, Boolean activating, void *yourDataPtr);
typedef STACK_UPP_TYPE(DlgHookProcPtr) DlgHookUPP;
typedef STACK_UPP_TYPE(FileFilterProcPtr) FileFilterUPP;
typedef STACK_UPP_TYPE(DlgHookYDProcPtr) DlgHookYDUPP;
typedef STACK_UPP_TYPE(FileFilterYDProcPtr) FileFilterYDUPP;
typedef STACK_UPP_TYPE(ActivateYDProcPtr) ActivateYDUPP;
#if CALL_NOT_IN_CARBON
/*
* NewDlgHookUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( DlgHookUPP )
NewDlgHookUPP(DlgHookProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
enum { uppDlgHookProcInfo = 0x000003A0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes) */
#ifdef __cplusplus
inline DEFINE_API_C(DlgHookUPP) NewDlgHookUPP(DlgHookProcPtr userRoutine) { return (DlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDlgHookProcInfo, GetCurrentArchitecture()); }
#else
#define NewDlgHookUPP(userRoutine) (DlgHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDlgHookProcInfo, GetCurrentArchitecture())
#endif
#endif
/*
* NewFileFilterUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( FileFilterUPP )
NewFileFilterUPP(FileFilterProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
enum { uppFileFilterProcInfo = 0x000000D0 }; /* pascal 1_byte Func(4_bytes) */
#ifdef __cplusplus
inline DEFINE_API_C(FileFilterUPP) NewFileFilterUPP(FileFilterProcPtr userRoutine) { return (FileFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFileFilterProcInfo, GetCurrentArchitecture()); }
#else
#define NewFileFilterUPP(userRoutine) (FileFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFileFilterProcInfo, GetCurrentArchitecture())
#endif
#endif
/*
* NewDlgHookYDUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( DlgHookYDUPP )
NewDlgHookYDUPP(DlgHookYDProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
enum { uppDlgHookYDProcInfo = 0x00000FA0 }; /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes) */
#ifdef __cplusplus
inline DEFINE_API_C(DlgHookYDUPP) NewDlgHookYDUPP(DlgHookYDProcPtr userRoutine) { return (DlgHookYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDlgHookYDProcInfo, GetCurrentArchitecture()); }
#else
#define NewDlgHookYDUPP(userRoutine) (DlgHookYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDlgHookYDProcInfo, GetCurrentArchitecture())
#endif
#endif
/*
* NewFileFilterYDUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( FileFilterYDUPP )
NewFileFilterYDUPP(FileFilterYDProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
enum { uppFileFilterYDProcInfo = 0x000003D0 }; /* pascal 1_byte Func(4_bytes, 4_bytes) */
#ifdef __cplusplus
inline DEFINE_API_C(FileFilterYDUPP) NewFileFilterYDUPP(FileFilterYDProcPtr userRoutine) { return (FileFilterYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFileFilterYDProcInfo, GetCurrentArchitecture()); }
#else
#define NewFileFilterYDUPP(userRoutine) (FileFilterYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppFileFilterYDProcInfo, GetCurrentArchitecture())
#endif
#endif
/*
* NewActivateYDUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( ActivateYDUPP )
NewActivateYDUPP(ActivateYDProcPtr userRoutine);
#if !OPAQUE_UPP_TYPES
enum { uppActivateYDProcInfo = 0x000036C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes, 1_byte, 4_bytes) */
#ifdef __cplusplus
inline DEFINE_API_C(ActivateYDUPP) NewActivateYDUPP(ActivateYDProcPtr userRoutine) { return (ActivateYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppActivateYDProcInfo, GetCurrentArchitecture()); }
#else
#define NewActivateYDUPP(userRoutine) (ActivateYDUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppActivateYDProcInfo, GetCurrentArchitecture())
#endif
#endif
/*
* DisposeDlgHookUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( void )
DisposeDlgHookUPP(DlgHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) DisposeDlgHookUPP(DlgHookUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
#else
#define DisposeDlgHookUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#endif
#endif
/*
* DisposeFileFilterUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( void )
DisposeFileFilterUPP(FileFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) DisposeFileFilterUPP(FileFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
#else
#define DisposeFileFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#endif
#endif
/*
* DisposeDlgHookYDUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( void )
DisposeDlgHookYDUPP(DlgHookYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) DisposeDlgHookYDUPP(DlgHookYDUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
#else
#define DisposeDlgHookYDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#endif
#endif
/*
* DisposeFileFilterYDUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( void )
DisposeFileFilterYDUPP(FileFilterYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) DisposeFileFilterYDUPP(FileFilterYDUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
#else
#define DisposeFileFilterYDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#endif
#endif
/*
* DisposeActivateYDUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( void )
DisposeActivateYDUPP(ActivateYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) DisposeActivateYDUPP(ActivateYDUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
#else
#define DisposeActivateYDUPP(userUPP) DisposeRoutineDescriptor(userUPP)
#endif
#endif
/*
* InvokeDlgHookUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( short )
InvokeDlgHookUPP(
short item,
DialogRef theDialog,
DlgHookUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(short) InvokeDlgHookUPP(short item, DialogRef theDialog, DlgHookUPP userUPP) { return (short)CALL_TWO_PARAMETER_UPP(userUPP, uppDlgHookProcInfo, item, theDialog); }
#else
#define InvokeDlgHookUPP(item, theDialog, userUPP) (short)CALL_TWO_PARAMETER_UPP((userUPP), uppDlgHookProcInfo, (item), (theDialog))
#endif
#endif
/*
* InvokeFileFilterUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( Boolean )
InvokeFileFilterUPP(
CInfoPBPtr pb,
FileFilterUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(Boolean) InvokeFileFilterUPP(CInfoPBPtr pb, FileFilterUPP userUPP) { return (Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppFileFilterProcInfo, pb); }
#else
#define InvokeFileFilterUPP(pb, userUPP) (Boolean)CALL_ONE_PARAMETER_UPP((userUPP), uppFileFilterProcInfo, (pb))
#endif
#endif
/*
* InvokeDlgHookYDUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( short )
InvokeDlgHookYDUPP(
short item,
DialogRef theDialog,
void * yourDataPtr,
DlgHookYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(short) InvokeDlgHookYDUPP(short item, DialogRef theDialog, void * yourDataPtr, DlgHookYDUPP userUPP) { return (short)CALL_THREE_PARAMETER_UPP(userUPP, uppDlgHookYDProcInfo, item, theDialog, yourDataPtr); }
#else
#define InvokeDlgHookYDUPP(item, theDialog, yourDataPtr, userUPP) (short)CALL_THREE_PARAMETER_UPP((userUPP), uppDlgHookYDProcInfo, (item), (theDialog), (yourDataPtr))
#endif
#endif
/*
* InvokeFileFilterYDUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( Boolean )
InvokeFileFilterYDUPP(
CInfoPBPtr pb,
void * yourDataPtr,
FileFilterYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(Boolean) InvokeFileFilterYDUPP(CInfoPBPtr pb, void * yourDataPtr, FileFilterYDUPP userUPP) { return (Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppFileFilterYDProcInfo, pb, yourDataPtr); }
#else
#define InvokeFileFilterYDUPP(pb, yourDataPtr, userUPP) (Boolean)CALL_TWO_PARAMETER_UPP((userUPP), uppFileFilterYDProcInfo, (pb), (yourDataPtr))
#endif
#endif
/*
* InvokeActivateYDUPP()
*
* Availability:
* Non-Carbon CFM: available as macro/inline
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( void )
InvokeActivateYDUPP(
DialogRef theDialog,
short itemNo,
Boolean activating,
void * yourDataPtr,
ActivateYDUPP userUPP);
#if !OPAQUE_UPP_TYPES
#ifdef __cplusplus
inline DEFINE_API_C(void) InvokeActivateYDUPP(DialogRef theDialog, short itemNo, Boolean activating, void * yourDataPtr, ActivateYDUPP userUPP) { CALL_FOUR_PARAMETER_UPP(userUPP, uppActivateYDProcInfo, theDialog, itemNo, activating, yourDataPtr); }
#else
#define InvokeActivateYDUPP(theDialog, itemNo, activating, yourDataPtr, userUPP) CALL_FOUR_PARAMETER_UPP((userUPP), uppActivateYDProcInfo, (theDialog), (itemNo), (activating), (yourDataPtr))
#endif
#endif
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
#define NewDlgHookProc(userRoutine) NewDlgHookUPP(userRoutine)
#define NewFileFilterProc(userRoutine) NewFileFilterUPP(userRoutine)
#define NewDlgHookYDProc(userRoutine) NewDlgHookYDUPP(userRoutine)
#define NewFileFilterYDProc(userRoutine) NewFileFilterYDUPP(userRoutine)
#define NewActivateYDProc(userRoutine) NewActivateYDUPP(userRoutine)
#define CallDlgHookProc(userRoutine, item, theDialog) InvokeDlgHookUPP(item, theDialog, userRoutine)
#define CallFileFilterProc(userRoutine, pb) InvokeFileFilterUPP(pb, userRoutine)
#define CallDlgHookYDProc(userRoutine, item, theDialog, yourDataPtr) InvokeDlgHookYDUPP(item, theDialog, yourDataPtr, userRoutine)
#define CallFileFilterYDProc(userRoutine, pb, yourDataPtr) InvokeFileFilterYDUPP(pb, yourDataPtr, userRoutine)
#define CallActivateYDProc(userRoutine, theDialog, itemNo, activating, yourDataPtr) InvokeActivateYDUPP(theDialog, itemNo, activating, yourDataPtr, userRoutine)
#endif /* CALL_NOT_IN_CARBON */
typedef OSType SFTypeList[4];
/*
The GetFile "typeList" parameter type has changed from "SFTypeList" to "ConstSFTypeListPtr".
For C, this will add "const" and make it an in-only parameter.
For Pascal, this will require client code to use the @ operator, but make it easier to specify long lists.
ConstSFTypeListPtr is a pointer to an array of OSTypes.
*/
typedef const OSType * ConstSFTypeListPtr;
#if CALL_NOT_IN_CARBON
/*
* SFPutFile()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API( void )
SFPutFile(
Point where,
ConstStr255Param prompt, /* can be NULL */
ConstStr255Param origName,
DlgHookUPP dlgHook, /* can be NULL */
SFReply * reply) THREEWORDINLINE(0x3F3C, 0x0001, 0xA9EA);
/*
* SFGetFile()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API( void )
SFGetFile(
Point where,
ConstStr255Param prompt,
FileFilterUPP fileFilter, /* can be NULL */
short numTypes,
ConstSFTypeListPtr typeList, /* can be NULL */
DlgHookUPP dlgHook, /* can be NULL */
SFReply * reply) THREEWORDINLINE(0x3F3C, 0x0002, 0xA9EA);
/*
* SFPPutFile()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API( void )
SFPPutFile(
Point where,
ConstStr255Param prompt, /* can be NULL */
ConstStr255Param origName,
DlgHookUPP dlgHook,
SFReply * reply,
short dlgID,
ModalFilterUPP filterProc) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0003, 0xA9EA);
/*
* SFPGetFile()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API( void )
SFPGetFile(
Point where,
ConstStr255Param prompt,
FileFilterUPP fileFilter, /* can be NULL */
short numTypes,
ConstSFTypeListPtr typeList, /* can be NULL */
DlgHookUPP dlgHook, /* can be NULL */
SFReply * reply,
short dlgID,
ModalFilterUPP filterProc) /* can be NULL */ THREEWORDINLINE(0x3F3C, 0x0004, 0xA9EA);
/*
* StandardPutFile()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API( void )
StandardPutFile(
ConstStr255Param prompt, /* can be NULL */
ConstStr255Param defaultName,
StandardFileReply * reply) THREEWORDINLINE(0x3F3C, 0x0005, 0xA9EA);
/*
* StandardGetFile()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API( void )
StandardGetFile(
FileFilterUPP fileFilter, /* can be NULL */
short numTypes,
ConstSFTypeListPtr typeList, /* can be NULL */
StandardFileReply * reply) THREEWORDINLINE(0x3F3C, 0x0006, 0xA9EA);
/*
* CustomPutFile()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API( void )
CustomPutFile(
ConstStr255Param prompt, /* can be NULL */
ConstStr255Param defaultName,
StandardFileReply * reply,
short dlgID,
Point where,
DlgHookYDUPP dlgHook, /* can be NULL */
ModalFilterYDUPP filterProc, /* can be NULL */
ActivationOrderListPtr activeList, /* can be NULL */
ActivateYDUPP activate, /* can be NULL */
void * yourDataPtr) THREEWORDINLINE(0x3F3C, 0x0007, 0xA9EA);
/*
* CustomGetFile()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API( void )
CustomGetFile(
FileFilterYDUPP fileFilter, /* can be NULL */
short numTypes,
ConstSFTypeListPtr typeList, /* can be NULL */
StandardFileReply * reply,
short dlgID,
Point where,
DlgHookYDUPP dlgHook, /* can be NULL */
ModalFilterYDUPP filterProc, /* can be NULL */
ActivationOrderListPtr activeList, /* can be NULL */
ActivateYDUPP activate, /* can be NULL */
void * yourDataPtr) THREEWORDINLINE(0x3F3C, 0x0008, 0xA9EA);
/*
* StandardOpenDialog()
*
* Availability:
* Non-Carbon CFM: in Translation 1.0 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API( OSErr )
StandardOpenDialog(StandardFileReply * reply);
#endif /* CALL_NOT_IN_CARBON */
#if CALL_NOT_IN_CARBON
/*
* sfpputfile()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( void )
sfpputfile(
Point * where,
const char * prompt,
const char * origName,
DlgHookUPP dlgHook, /* can be NULL */
SFReply * reply,
short dlgID,
ModalFilterUPP filterProc); /* can be NULL */
/*
* sfgetfile()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( void )
sfgetfile(
Point * where,
const char * prompt,
FileFilterUPP fileFilter, /* can be NULL */
short numTypes,
ConstSFTypeListPtr typeList, /* can be NULL */
DlgHookUPP dlgHook, /* can be NULL */
SFReply * reply);
/*
* sfpgetfile()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( void )
sfpgetfile(
Point * where,
const char * prompt,
FileFilterUPP fileFilter, /* can be NULL */
short numTypes,
ConstSFTypeListPtr typeList, /* can be NULL */
DlgHookUPP dlgHook, /* can be NULL */
SFReply * reply,
short dlgID,
ModalFilterUPP filterProc); /* can be NULL */
/*
* sfputfile()
*
* Availability:
* Non-Carbon CFM: in InterfaceLib 7.1 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API_C( void )
sfputfile(
Point * where,
const char * prompt,
const char * origName,
DlgHookUPP dlgHook, /* can be NULL */
SFReply * reply);
#endif /* CALL_NOT_IN_CARBON */
#if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif
#ifdef __cplusplus
}
#endif
#endif /* __STANDARDFILE__ */