19 #ifndef __FILETRANSFERS__
20 #define __FILETRANSFERS__
22 #ifndef __CONDITIONALMACROS__
26 #ifndef __STANDARDFILE__
30 #ifndef __CTBUTILITIES__
34 #ifndef __CONNECTIONS__
58 #if PRAGMA_STRUCT_ALIGN
59 #pragma options align = mac68k
60 #elif PRAGMA_STRUCT_PACKPUSH
62 #elif PRAGMA_STRUCT_PACK
66 #if CALL_NOT_IN_CARBON
79 ftNotEnoughDSpace = 5,
92 ftConfigChanged = 1 << 4,
96 typedef unsigned long FTFlags;
98 ftSameCircuit = 1 << 0,
99 ftSendDisable = 1 << 1,
100 ftReceiveDisable = 1 << 2,
102 ftNoStdFile = 1 << 4,
103 ftMultipleFileSend = 1 << 5
106 typedef unsigned short FTAttributes;
113 typedef unsigned short FTDirection;
114 typedef CALLBACK_API(
long, FileTransferDefProcPtr)(
TermHandle hTerm,
short msg,
115 long p1,
long p2,
long p3);
120 typedef CALLBACK_API(OSErr, FileTransferReadProcPtr)(
unsigned long *count,
121 Ptr pData,
long refCon,
123 typedef CALLBACK_API(OSErr, FileTransferWriteProcPtr)(
unsigned long *count,
124 Ptr pData,
long refCon,
126 typedef CALLBACK_API(Size, FileTransferSendProcPtr)(Ptr thePtr,
long theSize,
130 typedef CALLBACK_API(Size, FileTransferReceiveProcPtr)(Ptr thePtr,
long theSize,
134 typedef CALLBACK_API(OSErr,
135 FileTransferEnvironsProcPtr)(
long refCon,
137 typedef CALLBACK_API(
void,
138 FileTransferNotificationProcPtr)(
FTHandle hFT,
139 const FSSpec *pFSSpec);
140 typedef CALLBACK_API(
void, FileTransferChooseIdleProcPtr)(void);
141 typedef STACK_UPP_TYPE(FileTransferDefProcPtr) FileTransferDefUPP;
142 typedef STACK_UPP_TYPE(FileTransferReadProcPtr) FileTransferReadUPP;
143 typedef STACK_UPP_TYPE(FileTransferWriteProcPtr) FileTransferWriteUPP;
144 typedef STACK_UPP_TYPE(FileTransferSendProcPtr) FileTransferSendUPP;
145 typedef STACK_UPP_TYPE(FileTransferReceiveProcPtr) FileTransferReceiveUPP;
146 typedef STACK_UPP_TYPE(FileTransferEnvironsProcPtr) FileTransferEnvironsUPP;
148 FileTransferNotificationUPP;
149 typedef STACK_UPP_TYPE(FileTransferChooseIdleProcPtr) FileTransferChooseIdleUPP;
156 FileTransferDefUPP defProc;
159 FileTransferEnvironsUPP environsProc;
163 FileTransferSendUPP sendProc;
164 FileTransferReceiveUPP recvProc;
165 FileTransferWriteUPP writeProc;
166 FileTransferReadUPP readProc;
168 FTDirection direction;
175 FTAttributes attributes;
178 typedef unsigned short FTCompletionKind;
208 #if CALL_NOT_IN_CARBON
219 #if !OPAQUE_UPP_TYPES
221 uppFileTransferDefProcInfo = 0x0000FEF0
224 inline FileTransferDefUPP
227 uppFileTransferDefProcInfo,
228 GetCurrentArchitecture());
231 #define NewFileTransferDefUPP(userRoutine) \
232 (FileTransferDefUPP) \
233 NewRoutineDescriptor((ProcPtr)(userRoutine), uppFileTransferDefProcInfo, \
234 GetCurrentArchitecture())
248 #if !OPAQUE_UPP_TYPES
250 uppFileTransferReadProcInfo = 0x00002FE0
253 inline FileTransferReadUPP
256 uppFileTransferReadProcInfo,
257 GetCurrentArchitecture());
260 #define NewFileTransferReadUPP(userRoutine) \
261 (FileTransferReadUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), \
262 uppFileTransferReadProcInfo, \
263 GetCurrentArchitecture())
277 #if !OPAQUE_UPP_TYPES
279 uppFileTransferWriteProcInfo = 0x00002FE0
282 inline FileTransferWriteUPP
285 (ProcPtr)(userRoutine), uppFileTransferWriteProcInfo,
286 GetCurrentArchitecture());
289 #define NewFileTransferWriteUPP(userRoutine) \
290 (FileTransferWriteUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), \
291 uppFileTransferWriteProcInfo, \
292 GetCurrentArchitecture())
306 #if !OPAQUE_UPP_TYPES
308 uppFileTransferSendProcInfo = 0x0000AFF0
311 inline FileTransferSendUPP
314 uppFileTransferSendProcInfo,
315 GetCurrentArchitecture());
318 #define NewFileTransferSendUPP(userRoutine) \
319 (FileTransferSendUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), \
320 uppFileTransferSendProcInfo, \
321 GetCurrentArchitecture())
333 FileTransferReceiveUPP
335 #if !OPAQUE_UPP_TYPES
337 uppFileTransferReceiveProcInfo = 0x0000EFF0
340 inline FileTransferReceiveUPP
343 (ProcPtr)(userRoutine), uppFileTransferReceiveProcInfo,
344 GetCurrentArchitecture());
347 #define NewFileTransferReceiveUPP(userRoutine) \
348 (FileTransferReceiveUPP) NewRoutineDescriptor( \
349 (ProcPtr)(userRoutine), uppFileTransferReceiveProcInfo, \
350 GetCurrentArchitecture())
362 FileTransferEnvironsUPP
364 #if !OPAQUE_UPP_TYPES
366 uppFileTransferEnvironsProcInfo = 0x000003E0
369 inline FileTransferEnvironsUPP
372 (ProcPtr)(userRoutine), uppFileTransferEnvironsProcInfo,
373 GetCurrentArchitecture());
376 #define NewFileTransferEnvironsUPP(userRoutine) \
377 (FileTransferEnvironsUPP) NewRoutineDescriptor( \
378 (ProcPtr)(userRoutine), uppFileTransferEnvironsProcInfo, \
379 GetCurrentArchitecture())
391 FileTransferNotificationUPP
393 #if !OPAQUE_UPP_TYPES
395 uppFileTransferNotificationProcInfo = 0x000003C0
398 inline FileTransferNotificationUPP
401 (ProcPtr)(userRoutine), uppFileTransferNotificationProcInfo,
402 GetCurrentArchitecture());
405 #define NewFileTransferNotificationUPP(userRoutine) \
406 (FileTransferNotificationUPP) NewRoutineDescriptor( \
407 (ProcPtr)(userRoutine), uppFileTransferNotificationProcInfo, \
408 GetCurrentArchitecture())
420 FileTransferChooseIdleUPP
422 #if !OPAQUE_UPP_TYPES
424 uppFileTransferChooseIdleProcInfo = 0x00000000
427 inline FileTransferChooseIdleUPP
430 (ProcPtr)(userRoutine), uppFileTransferChooseIdleProcInfo,
431 GetCurrentArchitecture());
434 #define NewFileTransferChooseIdleUPP(userRoutine) \
435 (FileTransferChooseIdleUPP) NewRoutineDescriptor( \
436 (ProcPtr)(userRoutine), uppFileTransferChooseIdleProcInfo, \
437 GetCurrentArchitecture())
451 #if !OPAQUE_UPP_TYPES
457 #define DisposeFileTransferDefUPP(userUPP) DisposeRoutineDescriptor(userUPP)
471 #if !OPAQUE_UPP_TYPES
477 #define DisposeFileTransferReadUPP(userUPP) DisposeRoutineDescriptor(userUPP)
491 #if !OPAQUE_UPP_TYPES
497 #define DisposeFileTransferWriteUPP(userUPP) DisposeRoutineDescriptor(userUPP)
511 #if !OPAQUE_UPP_TYPES
517 #define DisposeFileTransferSendUPP(userUPP) DisposeRoutineDescriptor(userUPP)
531 #if !OPAQUE_UPP_TYPES
537 #define DisposeFileTransferReceiveUPP(userUPP) DisposeRoutineDescriptor(userUPP)
551 #if !OPAQUE_UPP_TYPES
557 #define DisposeFileTransferEnvironsUPP(userUPP) \
558 DisposeRoutineDescriptor(userUPP)
572 #if !OPAQUE_UPP_TYPES
579 #define DisposeFileTransferNotificationUPP(userUPP) \
580 DisposeRoutineDescriptor(userUPP)
594 #if !OPAQUE_UPP_TYPES
601 #define DisposeFileTransferChooseIdleUPP(userUPP) \
602 DisposeRoutineDescriptor(userUPP)
616 FileTransferDefUPP userUPP);
617 #if !OPAQUE_UPP_TYPES
621 FileTransferDefUPP userUPP) {
622 return (
long)CALL_FIVE_PARAMETER_UPP(userUPP, uppFileTransferDefProcInfo,
623 hTerm, msg, p1, p2, p3);
626 #define InvokeFileTransferDefUPP(hTerm, msg, p1, p2, p3, userUPP) \
627 (long)CALL_FIVE_PARAMETER_UPP((userUPP), uppFileTransferDefProcInfo, \
628 (hTerm), (msg), (p1), (p2), (p3))
642 short fileMsg, FileTransferReadUPP userUPP);
643 #if !OPAQUE_UPP_TYPES
646 long refCon,
short fileMsg,
647 FileTransferReadUPP userUPP) {
648 return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppFileTransferReadProcInfo,
649 count, pData, refCon, fileMsg);
652 #define InvokeFileTransferReadUPP(count, pData, refCon, fileMsg, userUPP) \
653 (OSErr) CALL_FOUR_PARAMETER_UPP((userUPP), uppFileTransferReadProcInfo, \
654 (count), (pData), (refCon), (fileMsg))
668 short fileMsg, FileTransferWriteUPP userUPP);
669 #if !OPAQUE_UPP_TYPES
672 long refCon,
short fileMsg,
673 FileTransferWriteUPP userUPP) {
674 return (OSErr)CALL_FOUR_PARAMETER_UPP(userUPP, uppFileTransferWriteProcInfo,
675 count, pData, refCon, fileMsg);
678 #define InvokeFileTransferWriteUPP(count, pData, refCon, fileMsg, userUPP) \
679 (OSErr) CALL_FOUR_PARAMETER_UPP((userUPP), uppFileTransferWriteProcInfo, \
680 (count), (pData), (refCon), (fileMsg))
694 CMChannel channel, CMFlags flag,
695 FileTransferSendUPP userUPP);
696 #if !OPAQUE_UPP_TYPES
699 CMChannel channel, CMFlags flag,
700 FileTransferSendUPP userUPP) {
701 return (Size)CALL_FIVE_PARAMETER_UPP(userUPP, uppFileTransferSendProcInfo,
702 thePtr, theSize, refCon, channel, flag);
705 #define InvokeFileTransferSendUPP(thePtr, theSize, refCon, channel, flag, \
707 (Size) CALL_FIVE_PARAMETER_UPP((userUPP), uppFileTransferSendProcInfo, \
708 (thePtr), (theSize), (refCon), (channel), \
723 CMChannel channel, CMFlags *flag,
724 FileTransferReceiveUPP userUPP);
725 #if !OPAQUE_UPP_TYPES
728 CMChannel channel, CMFlags *flag,
729 FileTransferReceiveUPP userUPP) {
730 return (Size)CALL_FIVE_PARAMETER_UPP(userUPP, uppFileTransferReceiveProcInfo,
731 thePtr, theSize, refCon, channel, flag);
734 #define InvokeFileTransferReceiveUPP(thePtr, theSize, refCon, channel, flag, \
736 (Size) CALL_FIVE_PARAMETER_UPP((userUPP), uppFileTransferReceiveProcInfo, \
737 (thePtr), (theSize), (refCon), (channel), \
752 FileTransferEnvironsUPP userUPP);
753 #if !OPAQUE_UPP_TYPES
757 FileTransferEnvironsUPP userUPP) {
758 return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppFileTransferEnvironsProcInfo,
762 #define InvokeFileTransferEnvironsUPP(refCon, theEnvirons, userUPP) \
763 (OSErr) CALL_TWO_PARAMETER_UPP((userUPP), uppFileTransferEnvironsProcInfo, \
764 (refCon), (theEnvirons))
778 FileTransferNotificationUPP userUPP);
779 #if !OPAQUE_UPP_TYPES
783 FileTransferNotificationUPP userUPP) {
784 CALL_TWO_PARAMETER_UPP(userUPP, uppFileTransferNotificationProcInfo, hFT,
788 #define InvokeFileTransferNotificationUPP(hFT, pFSSpec, userUPP) \
789 CALL_TWO_PARAMETER_UPP((userUPP), uppFileTransferNotificationProcInfo, \
804 #if !OPAQUE_UPP_TYPES
810 #define InvokeFileTransferChooseIdleUPP(userUPP) \
811 CALL_ZERO_PARAMETER_UPP((userUPP), uppFileTransferChooseIdleProcInfo)
817 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
819 #define NewFileTransferDefProc(userRoutine) NewFileTransferDefUPP(userRoutine)
820 #define NewFileTransferReadProc(userRoutine) NewFileTransferReadUPP(userRoutine)
821 #define NewFileTransferWriteProc(userRoutine) \
822 NewFileTransferWriteUPP(userRoutine)
823 #define NewFileTransferSendProc(userRoutine) NewFileTransferSendUPP(userRoutine)
824 #define NewFileTransferReceiveProc(userRoutine) \
825 NewFileTransferReceiveUPP(userRoutine)
826 #define NewFileTransferEnvironsProc(userRoutine) \
827 NewFileTransferEnvironsUPP(userRoutine)
828 #define NewFileTransferNotificationProc(userRoutine) \
829 NewFileTransferNotificationUPP(userRoutine)
830 #define NewFileTransferChooseIdleProc(userRoutine) \
831 NewFileTransferChooseIdleUPP(userRoutine)
832 #define CallFileTransferDefProc(userRoutine, hTerm, msg, p1, p2, p3) \
833 InvokeFileTransferDefUPP(hTerm, msg, p1, p2, p3, userRoutine)
834 #define CallFileTransferReadProc(userRoutine, count, pData, refCon, fileMsg) \
835 InvokeFileTransferReadUPP(count, pData, refCon, fileMsg, userRoutine)
836 #define CallFileTransferWriteProc(userRoutine, count, pData, refCon, fileMsg) \
837 InvokeFileTransferWriteUPP(count, pData, refCon, fileMsg, userRoutine)
838 #define CallFileTransferSendProc(userRoutine, thePtr, theSize, refCon, \
840 InvokeFileTransferSendUPP(thePtr, theSize, refCon, channel, flag, userRoutine)
841 #define CallFileTransferReceiveProc(userRoutine, thePtr, theSize, refCon, \
843 InvokeFileTransferReceiveUPP(thePtr, theSize, refCon, channel, flag, \
845 #define CallFileTransferEnvironsProc(userRoutine, refCon, theEnvirons) \
846 InvokeFileTransferEnvironsUPP(refCon, theEnvirons, userRoutine)
847 #define CallFileTransferNotificationProc(userRoutine, hFT, pFSSpec) \
848 InvokeFileTransferNotificationUPP(hFT, pFSSpec, userRoutine)
849 #define CallFileTransferChooseIdleProc(userRoutine) \
850 InvokeFileTransferChooseIdleUPP(userRoutine)
853 #if CALL_NOT_IN_CARBON
896 FTNew(
short procID, FTFlags flags, FileTransferSendUPP sendProc,
897 FileTransferReceiveUPP recvProc, FileTransferReadUPP readProc,
898 FileTransferWriteUPP writeProc, FileTransferEnvironsUPP environsProc,
899 WindowRef owner,
long refCon,
long userData);
944 FileTransferNotificationUPP notifyProc);
956 FileTransferNotificationUPP notifyProc);
1253 FileTransferNotificationUPP notifyProc);
1265 FileTransferNotificationUPP notifyProc);
1282 #if PRAGMA_STRUCT_ALIGN
1283 #pragma options align = reset
1284 #elif PRAGMA_STRUCT_PACKPUSH
1286 #elif PRAGMA_STRUCT_PACK
1290 #ifdef PRAGMA_IMPORT_OFF
1293 #pragma import reset
Communications Toolbox Utilities interfaces.
Set up for compiler independent conditionals.
Communications Toolbox Connection Manager Interfaces.
Boolean FTValidate(FTHandle hFT)
FileTransferDefUPP NewFileTransferDefUPP(FileTransferDefProcPtr userRoutine)
short FTSetConfig(FTHandle hFT, const void *thePtr)
Handle FTSetupPreflight(short procID, long *magicCookie)
void DisposeFileTransferReadUPP(FileTransferReadUPP userUPP)
void FTSetupPostflight(short procID)
void InvokeFileTransferNotificationUPP(FTHandle hFT, const FSSpec *pFSSpec, FileTransferNotificationUPP userUPP)
short FTChoose(FTHandle *hFT, Point where, FileTransferChooseIdleUPP idleProc)
long FTGetUserData(FTHandle hFT)
long InvokeFileTransferDefUPP(TermHandle hTerm, short msg, long p1, long p2, long p3, FileTransferDefUPP userUPP)
FileTransferChooseIdleUPP NewFileTransferChooseIdleUPP(FileTransferChooseIdleProcPtr userRoutine)
Boolean FTSetupFilter(short procID, const void *theConfig, short count, DialogRef theDialog, EventRecord *theEvent, short *theItem, long *magicCookie)
void DisposeFileTransferChooseIdleUPP(FileTransferChooseIdleUPP userUPP)
short FTGetProcID(ConstStr255Param name)
OSErr InvokeFileTransferEnvironsUPP(long refCon, ConnEnvironRec *theEnvirons, FileTransferEnvironsUPP userUPP)
void DisposeFileTransferEnvironsUPP(FileTransferEnvironsUPP userUPP)
void FTDispose(FTHandle hFT)
FileTransferReadUPP NewFileTransferReadUPP(FileTransferReadProcPtr userRoutine)
void DisposeFileTransferWriteUPP(FileTransferWriteUPP userUPP)
void FTGetToolName(short procID, Str255 name)
void FTSetRefCon(FTHandle hFT, long refCon)
Handle FTGetVersion(FTHandle hFT)
FileTransferEnvironsUPP NewFileTransferEnvironsUPP(FileTransferEnvironsProcPtr userRoutine)
void DisposeFileTransferSendUPP(FileTransferSendUPP userUPP)
void FTSetUserData(FTHandle hFT, long userData)
FTErr FTEnglishToIntl(FTHandle hFT, const void *inputPtr, Ptr *outputPtr, short language)
FTErr FTAbort(FTHandle hFT)
FTHandle FTNew(short procID, FTFlags flags, FileTransferSendUPP sendProc, FileTransferReceiveUPP recvProc, FileTransferReadUPP readProc, FileTransferWriteUPP writeProc, FileTransferEnvironsUPP environsProc, WindowRef owner, long refCon, long userData)
FTErr FTSendAsync(FTHandle hFT, short numFiles, FSSpecArrayPtr pFSSpec, FileTransferNotificationUPP notifyProc)
Size InvokeFileTransferSendUPP(Ptr thePtr, long theSize, long refCon, CMChannel channel, CMFlags flag, FileTransferSendUPP userUPP)
void FTSetupItem(short procID, const void *theConfig, short count, DialogRef theDialog, short *theItem, long *magicCookie)
void FTGetErrorString(FTHandle hFT, short id, Str255 errMsg)
Boolean FTMenu(FTHandle hFT, short menuID, short item)
OSErr InvokeFileTransferWriteUPP(unsigned long *count, Ptr pData, long refCon, short fileMsg, FileTransferWriteUPP userUPP)
void FTDefault(Ptr *theConfig, short procID, Boolean allocate)
void DisposeFileTransferDefUPP(FileTransferDefUPP userUPP)
FTErr FTCompletionAsync(FTHandle hFT, FTCompletionKind completionCall)
FileTransferReceiveUPP NewFileTransferReceiveUPP(FileTransferReceiveProcPtr userRoutine)
void FTResume(FTHandle hFT, Boolean resume)
void FTEvent(FTHandle hFT, const EventRecord *theEvent)
FTErr FTStart(FTHandle hFT, FTDirection direction, const SFReply *fileInfo)
void FTSetupSetup(short procID, const void *theConfig, short count, DialogRef theDialog, long *magicCookie)
void DisposeFileTransferNotificationUPP(FileTransferNotificationUPP userUPP)
short FTGetFTVersion(void)
void InvokeFileTransferChooseIdleUPP(FileTransferChooseIdleUPP userUPP)
OSErr InvokeFileTransferReadUPP(unsigned long *count, Ptr pData, long refCon, short fileMsg, FileTransferReadUPP userUPP)
void FTSetupXCleanup(short procID, const void *theConfig, short count, DialogRef theDialog, Boolean OKed, long *magicCookie)
FTErr FTReceiveAsync(FTHandle hFT, FSSpecPtr pFSSpec, FileTransferNotificationUPP notifyProc)
void FTActivate(FTHandle hFT, Boolean activate)
Ptr FTGetConfig(FTHandle hFT)
long FTGetRefCon(FTHandle hFT)
FTErr FTReceive(FTHandle hFT, FSSpecPtr pFSSpec, FileTransferNotificationUPP notifyProc)
FileTransferSendUPP NewFileTransferSendUPP(FileTransferSendProcPtr userRoutine)
void DisposeFileTransferReceiveUPP(FileTransferReceiveUPP userUPP)
FTErr FTIntlToEnglish(FTHandle hFT, const void *inputPtr, Ptr *outputPtr, short language)
void FTExec(FTHandle hFT)
FileTransferNotificationUPP NewFileTransferNotificationUPP(FileTransferNotificationProcPtr userRoutine)
Size InvokeFileTransferReceiveUPP(Ptr thePtr, long theSize, long refCon, CMChannel channel, CMFlags *flag, FileTransferReceiveUPP userUPP)
FileTransferWriteUPP NewFileTransferWriteUPP(FileTransferWriteProcPtr userRoutine)
FTErr FTSend(FTHandle hFT, short numFiles, FSSpecArrayPtr pFSSpec, FileTransferNotificationUPP notifyProc)
File Manager (MFS, HFS, and HFS+) Interfaces.
unsigned char Boolean
Definition: MacTypes.h:318
#define CALL_ZERO_PARAMETER_UPP(upp, procInfo)
Definition: MixedMode.h:790
void DisposeRoutineDescriptor(UniversalProcPtr theUPP)
#define STACK_UPP_TYPE(name)
Definition: MixedMode.h:734
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)
Standard File package Interfaces.
Communications Toolbox Terminal tool Interfaces.
Definition: Connections.h:148
Definition: FileTransfers.h:150
Definition: Quickdraw.h:1648
Definition: MacTypes.h:520
Definition: StandardFile.h:135
Definition: Terminals.h:160