19 #ifndef __DATABASEACCESS__
20 #define __DATABASEACCESS__
39 #if PRAGMA_STRUCT_ALIGN
40 #pragma options align = mac68k
41 #elif PRAGMA_STRUCT_PACKPUSH
43 #elif PRAGMA_STRUCT_PACK
50 typeNone = FOUR_CHAR_CODE(
'none'),
51 typeDate = FOUR_CHAR_CODE(
'date'),
52 typeTime = FOUR_CHAR_CODE(
'time'),
53 typeTimeStamp = FOUR_CHAR_CODE(
'tims'),
54 typeDecimal = FOUR_CHAR_CODE(
'deci'),
55 typeMoney = FOUR_CHAR_CODE(
'mone'),
56 typeVChar = FOUR_CHAR_CODE(
'vcha'),
57 typeVBin = FOUR_CHAR_CODE(
'vbin'),
58 typeLChar = FOUR_CHAR_CODE(
'lcha'),
59 typeLBin = FOUR_CHAR_CODE(
'lbin'),
60 typeDiscard = FOUR_CHAR_CODE(
'disc'),
62 typeColBreak = FOUR_CHAR_CODE(
'colb'),
64 FOUR_CHAR_CODE(
'rowb'),
77 kDBStartQueryComplete = 5
84 kDBGetQueryResultsComplete = 7,
95 typedef OSType DBType;
104 DBCompletionUPP completionProc;
122 typedef Handle *QueryListPtr;
123 typedef QueryListPtr *QueryListHandle;
147 typedef Handle ColTypesHandle;
157 typedef Handle ColInfoHandle;
174 kDBGetSessionNum = 3,
189 typedef CALLBACK_API(OSErr, DBQueryDefProcPtr)(
long *sessID,
QueryHandle query);
190 typedef CALLBACK_API(
Boolean, DBStatusProcPtr)(
short message, OSErr result,
191 short dataLen,
short dataPlaces,
192 short dataFlags, DBType dataType,
194 typedef CALLBACK_API(OSErr,
195 DBResultHandlerProcPtr)(DBType dataType,
short theLen,
196 short thePlaces,
short theFlags,
197 Ptr theData, Handle theText);
200 typedef STACK_UPP_TYPE(DBResultHandlerProcPtr) DBResultHandlerUPP;
201 #if CALL_NOT_IN_CARBON
212 #if !OPAQUE_UPP_TYPES
215 uppDBCompletionProcInfo = 0x0000B802
221 uppDBCompletionProcInfo,
222 GetCurrentArchitecture());
225 #define NewDBCompletionUPP(userRoutine) \
227 NewRoutineDescriptor((ProcPtr)(userRoutine), uppDBCompletionProcInfo, \
228 GetCurrentArchitecture())
242 #if !OPAQUE_UPP_TYPES
245 uppDBQueryDefProcInfo = 0x000003E0
251 (ProcPtr)(userRoutine), uppDBQueryDefProcInfo, GetCurrentArchitecture());
254 #define NewDBQueryDefUPP(userRoutine) \
255 (DBQueryDefUPP) NewRoutineDescriptor( \
256 (ProcPtr)(userRoutine), uppDBQueryDefProcInfo, GetCurrentArchitecture())
270 #if !OPAQUE_UPP_TYPES
273 uppDBStatusProcInfo = 0x000FAA90
280 (ProcPtr)(userRoutine), uppDBStatusProcInfo, GetCurrentArchitecture());
283 #define NewDBStatusUPP(userRoutine) \
284 (DBStatusUPP) NewRoutineDescriptor( \
285 (ProcPtr)(userRoutine), uppDBStatusProcInfo, GetCurrentArchitecture())
299 #if !OPAQUE_UPP_TYPES
302 uppDBResultHandlerProcInfo = 0x0003EAE0
306 inline DBResultHandlerUPP
310 uppDBResultHandlerProcInfo,
311 GetCurrentArchitecture());
314 #define NewDBResultHandlerUPP(userRoutine) \
315 (DBResultHandlerUPP) \
316 NewRoutineDescriptor((ProcPtr)(userRoutine), uppDBResultHandlerProcInfo, \
317 GetCurrentArchitecture())
331 #if !OPAQUE_UPP_TYPES
338 #define DisposeDBCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
352 #if !OPAQUE_UPP_TYPES
359 #define DisposeDBQueryDefUPP(userUPP) DisposeRoutineDescriptor(userUPP)
373 #if !OPAQUE_UPP_TYPES
380 #define DisposeDBStatusUPP(userUPP) DisposeRoutineDescriptor(userUPP)
394 #if !OPAQUE_UPP_TYPES
401 #define DisposeDBResultHandlerUPP(userUPP) DisposeRoutineDescriptor(userUPP)
413 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
414 #pragma parameter InvokeDBCompletionUPP(__A1, __A0)
418 #if !OPAQUE_UPP_TYPES && \
419 (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
422 DBCompletionUPP userUPP)
424 CALL_ONE_PARAMETER_UPP(userUPP, uppDBCompletionProcInfo,
pb);
427 #define InvokeDBCompletionUPP(pb, userUPP) \
428 CALL_ONE_PARAMETER_UPP((userUPP), uppDBCompletionProcInfo, (pb))
442 #if !OPAQUE_UPP_TYPES
445 DBQueryDefUPP userUPP)
447 return (OSErr)CALL_TWO_PARAMETER_UPP(userUPP, uppDBQueryDefProcInfo, sessID,
451 #define InvokeDBQueryDefUPP(sessID, query, userUPP) \
452 (OSErr) CALL_TWO_PARAMETER_UPP((userUPP), uppDBQueryDefProcInfo, (sessID), \
467 short dataFlags, DBType dataType, Ptr dataPtr,
468 DBStatusUPP userUPP);
469 #if !OPAQUE_UPP_TYPES
472 short dataPlaces,
short dataFlags,
473 DBType dataType, Ptr dataPtr,
476 return (
Boolean)CALL_SEVEN_PARAMETER_UPP(userUPP, uppDBStatusProcInfo,
477 message, result, dataLen, dataPlaces,
478 dataFlags, dataType, dataPtr);
481 #define InvokeDBStatusUPP(message, result, dataLen, dataPlaces, dataFlags, \
482 dataType, dataPtr, userUPP) \
483 (Boolean) CALL_SEVEN_PARAMETER_UPP( \
484 (userUPP), uppDBStatusProcInfo, (message), (result), (dataLen), \
485 (dataPlaces), (dataFlags), (dataType), (dataPtr))
499 short theFlags, Ptr theData, Handle theText,
500 DBResultHandlerUPP userUPP);
501 #if !OPAQUE_UPP_TYPES
504 short thePlaces,
short theFlags,
505 Ptr theData, Handle theText,
506 DBResultHandlerUPP userUPP)
508 return (OSErr)CALL_SIX_PARAMETER_UPP(userUPP, uppDBResultHandlerProcInfo,
509 dataType, theLen, thePlaces, theFlags,
513 #define InvokeDBResultHandlerUPP(dataType, theLen, thePlaces, theFlags, \
514 theData, theText, userUPP) \
515 (OSErr) CALL_SIX_PARAMETER_UPP((userUPP), uppDBResultHandlerProcInfo, \
516 (dataType), (theLen), (thePlaces), \
517 (theFlags), (theData), (theText))
523 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
525 #define NewDBCompletionProc(userRoutine) NewDBCompletionUPP(userRoutine)
526 #define NewDBQueryDefProc(userRoutine) NewDBQueryDefUPP(userRoutine)
527 #define NewDBStatusProc(userRoutine) NewDBStatusUPP(userRoutine)
528 #define NewDBResultHandlerProc(userRoutine) NewDBResultHandlerUPP(userRoutine)
529 #define CallDBCompletionProc(userRoutine, pb) \
530 InvokeDBCompletionUPP(pb, userRoutine)
531 #define CallDBQueryDefProc(userRoutine, sessID, query) \
532 InvokeDBQueryDefUPP(sessID, query, userRoutine)
533 #define CallDBStatusProc(userRoutine, message, result, dataLen, dataPlaces, \
534 dataFlags, dataType, dataPtr) \
535 InvokeDBStatusUPP(message, result, dataLen, dataPlaces, dataFlags, dataType, \
536 dataPtr, userRoutine)
537 #define CallDBResultHandlerProc(userRoutine, dataType, theLen, thePlaces, \
538 theFlags, theData, theText) \
539 InvokeDBResultHandlerUPP(dataType, theLen, thePlaces, theFlags, theData, \
540 theText, userRoutine)
543 #if CALL_NOT_IN_CARBON
564 DBInit(
long *sessID, ConstStr63Param ddevName, ConstStr255Param host,
565 ConstStr255Param user, ConstStr255Param passwd, ConstStr255Param connStr,
589 Str63 ddevName, Str255 host, Str255 user, Str255 network,
590 Str255 connStr,
long *start, OSErr *state,
624 DBSendItem(
long sessID, DBType dataType,
short len,
short places,
short flags,
658 DBGetErr(
long sessID,
long *err1,
long *err2, Str255 item1, Str255 item2,
681 DBGetItem(
long sessID,
long timeout, DBType *dataType,
short *len,
811 #if PRAGMA_STRUCT_ALIGN
812 #pragma options align = reset
813 #elif PRAGMA_STRUCT_PACKPUSH
815 #elif PRAGMA_STRUCT_PACK
819 #ifdef PRAGMA_IMPORT_OFF
OSErr DBGetNewQuery(short queryID, QueryHandle *query)
OSErr DBExec(long sessID, DBAsyncParmBlkPtr asyncPB)
@ kDBInit
Definition: DatabaseAccess.h:171
void DisposeDBResultHandlerUPP(DBResultHandlerUPP userUPP)
Boolean InvokeDBStatusUPP(short message, OSErr result, short dataLen, short dataPlaces, short dataFlags, DBType dataType, Ptr dataPtr, DBStatusUPP userUPP)
@ kDBUpdateWind
Definition: DatabaseAccess.h:72
void InvokeDBCompletionUPP(DBAsyncParmBlkPtr pb, DBCompletionUPP userUPP)
OSErr DBSend(long sessID, Ptr text, short len, DBAsyncParmBlkPtr asyncPB)
OSErr InvokeDBResultHandlerUPP(DBType dataType, short theLen, short thePlaces, short theFlags, Ptr theData, Handle theText, DBResultHandlerUPP userUPP)
#define NewDBResultHandlerUPP(userRoutine)
Definition: DatabaseAccess.h:314
OSErr DBEnd(long sessID, DBAsyncParmBlkPtr asyncPB)
OSErr DBSendItem(long sessID, DBType dataType, short len, short places, short flags, void *buffer, DBAsyncParmBlkPtr asyncPB)
@ kDBGetItemComplete
Definition: DatabaseAccess.h:83
OSErr DBGetQueryResults(long sessID, ResultsRecord *results, long timeout, DBStatusUPP statusProc, DBAsyncParmBlkPtr asyncPB)
OSErr DBKill(DBAsyncParmBlkPtr asyncPB)
#define NewDBCompletionUPP(userRoutine)
Definition: DatabaseAccess.h:225
OSErr InvokeDBQueryDefUPP(long *sessID, QueryHandle query, DBQueryDefUPP userUPP)
#define NewDBStatusUPP(userRoutine)
Definition: DatabaseAccess.h:283
#define NewDBQueryDefUPP(userRoutine)
Definition: DatabaseAccess.h:254
@ typeAnyType
Definition: DatabaseAccess.h:65
@ typeUnknown
Definition: DatabaseAccess.h:61
OSErr DBResultsToText(ResultsRecord *results, Handle *theText)
OSErr DBGetSessionNum(long sessID, short *sessNum, DBAsyncParmBlkPtr asyncPB)
OSErr DBState(long sessID, DBAsyncParmBlkPtr asyncPB)
OSErr DBBreak(long sessID, Boolean abort, DBAsyncParmBlkPtr asyncPB)
DBType ColTypesArray[256]
Definition: DatabaseAccess.h:146
OSErr DBGetErr(long sessID, long *err1, long *err2, Str255 item1, Str255 item2, Str255 errorMsg, DBAsyncParmBlkPtr asyncPB)
Handle QueryArray[256]
Definition: DatabaseAccess.h:121
OSErr DBUnGetItem(long sessID, DBAsyncParmBlkPtr asyncPB)
OSErr DBInit(long *sessID, ConstStr63Param ddevName, ConstStr255Param host, ConstStr255Param user, ConstStr255Param passwd, ConstStr255Param connStr, DBAsyncParmBlkPtr asyncPB)
OSErr DBDisposeQuery(QueryHandle query)
OSErr DBGetConnInfo(long sessID, short sessNum, long *returnedID, long *version, Str63 ddevName, Str255 host, Str255 user, Str255 network, Str255 connStr, long *start, OSErr *state, DBAsyncParmBlkPtr asyncPB)
void DisposeDBStatusUPP(DBStatusUPP userUPP)
OSErr DBStartQuery(long *sessID, QueryHandle query, DBStatusUPP statusProc, DBAsyncParmBlkPtr asyncPB)
void DisposeDBQueryDefUPP(DBQueryDefUPP userUPP)
OSErr DBInstallResultHandler(DBType dataType, DBResultHandlerUPP theHandler, Boolean isSysHandler)
void DisposeDBCompletionUPP(DBCompletionUPP userUPP)
OSErr DBGetItem(long sessID, long timeout, DBType *dataType, short *len, short *places, short *flags, void *buffer, DBAsyncParmBlkPtr asyncPB)
OSErr DBGetResultHandler(DBType dataType, DBResultHandlerUPP *theHandler, Boolean getSysHandler)
OSErr DBRemoveResultHandler(DBType dataType)
@ kDBLastColFlag
Definition: DatabaseAccess.h:91
unsigned char Boolean
Definition: MacTypes.h:318
void DisposeRoutineDescriptor(UniversalProcPtr theUPP)
#define STACK_UPP_TYPE(name)
Definition: MixedMode.h:734
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)
Resource Manager Interfaces.
typedef CALLBACK_API_REGISTER68K(void, SIInterruptProcPtr,(SPBPtr inParamPtr, Ptr dataBuffer, short peakAmplitude, long sampleSize))
typedef REGISTER_UPP_TYPE(HighHookProcPtr) HighHookUPP
Definition: DatabaseAccess.h:103
long reserved
Definition: DatabaseAccess.h:108
long userRef
Definition: DatabaseAccess.h:106
long ddevRef
Definition: DatabaseAccess.h:107
OSErr result
Definition: DatabaseAccess.h:105
Definition: DatabaseAccess.h:150
Definition: DatabaseAccess.h:125
Str255 connStr
Definition: DatabaseAccess.h:133
Str255 host
Definition: DatabaseAccess.h:130
short numRes
Definition: DatabaseAccess.h:137
Str63 ddevName
Definition: DatabaseAccess.h:129
long refCon
Definition: DatabaseAccess.h:140
ResListHandle resList
Definition: DatabaseAccess.h:138
Str255 password
Definition: DatabaseAccess.h:132
short numQueries
Definition: DatabaseAccess.h:135
Str255 user
Definition: DatabaseAccess.h:131
Handle queryProc
Definition: DatabaseAccess.h:128
QueryListHandle queryList
Definition: DatabaseAccess.h:136
short id
Definition: DatabaseAccess.h:127
Handle dataHandle
Definition: DatabaseAccess.h:139
short currQuery
Definition: DatabaseAccess.h:134
Definition: DatabaseAccess.h:113
short id
Definition: DatabaseAccess.h:115
Definition: DatabaseAccess.h:160
ColTypesHandle colTypes
Definition: DatabaseAccess.h:163
short numCols
Definition: DatabaseAccess.h:162
Handle colData
Definition: DatabaseAccess.h:164
ColInfoHandle colInfo
Definition: DatabaseAccess.h:165