mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2025-01-01 11:29:27 +00:00
0ba83392d4
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
335 lines
8.3 KiB
Plaintext
335 lines
8.3 KiB
Plaintext
; Created: Monday, March 20, 1989 at 10:00:00 AM
|
|
;
|
|
; File: DatabaseAccess.a
|
|
;
|
|
; Assembler Interface to the Macintosh Libraries
|
|
; Copyright Apple Computer, Inc. 1989-90
|
|
; All Rights Reserved
|
|
;
|
|
; Change History (most recent first):
|
|
;
|
|
; <21> 1/30/91 gbm sab, #38: Change the Ôalready including this fileÕ variable to
|
|
; all uppercase (for security reasons)
|
|
; <20> 8/2/90 JSM Add kDBNullFlag.
|
|
; <19> 7/1/90 JSM Change typeChar constant from 'char' to 'TEXT'.
|
|
; <18> 7/1/90 JSM Update some DBType constants to conform to AppleEvents
|
|
; conventions.
|
|
; <15> 4/27/90 JSM Remove QuitDBPack.
|
|
; <14> 3/13/90 JSM Remove kDBGetItemEndOfRow message, add DBColInfoRecord, update
|
|
; ResultsRecord, bump version number on InitDBPack, change names
|
|
; of ResultsHandler routines to ResultHandler.
|
|
; <13> 2/26/90 JSM Change selectors to use new dispatcher, eliminate gaps between
|
|
; return codes, bump version on InitDBPack.
|
|
; <12> 2/22/90 JSM Add kDBStartQueryComplete.
|
|
; <10> 2/8/90 JSM Restore change history.
|
|
; <8> 2/6/90 JSM Remove rcDBCancel and rcDBStatusCancel, add
|
|
; kDBGetQueryResultsComplete.
|
|
; <7> 2/5/90 JSM Remove obsolete return code rcDBBadCol.
|
|
; <5> 1/4/90 JSM Change connstr to connStr.
|
|
; <4> 12/22/89 JSM Add kDBLastColFlag.
|
|
; <3> 12/19/89 JSM Cleanup again after fixing AddChange.
|
|
; <2> 12/19/89 JSM Cleanup after initial checkin.
|
|
; <1> 12/19/89 JSM Adding to public includes for the first time.
|
|
; <2.2> 11/7/89 JSM Added status functions, changed DBUnGetVal to DBUnGetItem,
|
|
; bumped version on InitDBPack.
|
|
; <2.1> 10/6/89 JSM Updated to make SnarfMan a PACK.
|
|
; <2.0> 8/29/89 JSM Updated for new version 2 API.
|
|
; <1.8> 8/7/89 JSM Added new rc's, added colLens to ResultsRecord, added kill and
|
|
; results-to-text stuff.
|
|
; <1.7> 7/26/89 JSM Added new return code rcDBAsyncNotSupp.
|
|
; <1.6> 7/19/89 JSM Changed 'type' to 'theType' in ResListElem.
|
|
; <1.5> 6/22/89 JSM Removed handle in ResListElem.
|
|
; <1.4> 6/9/89 JSM Added 4 byte data types, ddevRef to async param block.
|
|
; <1.3> 5/31/89 JSM Removed rcDBReady and rcDBSize errors, added async support.
|
|
; <1.2> 5/18/89 JSM Updated selectors, changed for new trap dispatch mechanism,
|
|
; added version and id to QueryRecord.
|
|
; <1.1> 4/28/89 JSM Added high-level information.
|
|
; <1.0> 4/11/89 JSM Added to EASE for the first time.
|
|
;___________________________________________________________________________
|
|
|
|
IF &TYPE('__INCLUDINGDATABASEACCESS__') = 'UNDEFINED' THEN
|
|
__INCLUDINGDATABASEACCESS__ SET 1
|
|
|
|
; error and status codes
|
|
|
|
rcDBNull EQU -800
|
|
rcDBValue EQU -801
|
|
rcDBError EQU -802
|
|
rcDBBadType EQU -803
|
|
rcDBBreak EQU -804
|
|
rcDBExec EQU -805
|
|
rcDBBadSessID EQU -806
|
|
rcDBBadSessNum EQU -807
|
|
|
|
rcDBBadDDEV EQU -808
|
|
|
|
rcDBAsyncNotSupp EQU -809
|
|
rcDBBadAsyncPB EQU -810
|
|
|
|
rcDBNoHandler EQU -811
|
|
|
|
rcDBWrongVersion EQU -812
|
|
rcDBPackNotInited EQU -813
|
|
|
|
; messages for status functions for DBStartQuery
|
|
|
|
kDBUpdateWind EQU 0
|
|
kDBAboutToInit EQU 1
|
|
kDBInitComplete EQU 2
|
|
kDBSendComplete EQU 3
|
|
kDBExecComplete EQU 4
|
|
kDBStartQueryComplete EQU 5
|
|
|
|
; messages for status functions for DBGetQueryResults
|
|
|
|
kDBGetItemComplete EQU 6
|
|
kDBGetQueryResultsComplete EQU 7
|
|
|
|
; DBType codes
|
|
|
|
typeNone EQU 'none'
|
|
typeBoolean EQU 'bool'
|
|
typeSMInt EQU 'shor'
|
|
typeInteger EQU 'long'
|
|
typeSMFloat EQU 'sing'
|
|
typeFloat EQU 'doub'
|
|
typeDate EQU 'date'
|
|
typeTime EQU 'time'
|
|
typeTimeStamp EQU 'tims'
|
|
typeChar EQU 'TEXT'
|
|
typeDecimal EQU 'deci'
|
|
typeMoney EQU 'mone'
|
|
typeVChar EQU 'vcha'
|
|
typeVBin EQU 'vbin'
|
|
typeLChar EQU 'lcha'
|
|
typeLBin EQU 'lbin'
|
|
typeDiscard EQU 'disc'
|
|
|
|
; "dummy" types for DBResultsToText
|
|
|
|
typeUnknown EQU 'unkn'
|
|
typeColBreak EQU 'colb'
|
|
typeRowBreak EQU 'rowb'
|
|
|
|
; pass this in to DBGetItem for any data type
|
|
|
|
typeAnyType EQU 0
|
|
|
|
; infinite timeout value for DBGetItem
|
|
|
|
kDBWaitForever EQU -1
|
|
|
|
; flags for DBGetItem
|
|
|
|
kDBLastColFlag EQU 1
|
|
kDBNullFlag EQU 4
|
|
|
|
; structure for asynchronous parameter block
|
|
|
|
DBAsyncParamBlockRec RECORD 0
|
|
completionProc DS.L 1 ; pointer to completion routine
|
|
result DS.W 1 ; result of call
|
|
userRef DS.L 1 ; for application's use
|
|
ddevRef DS.L 1 ; for ddev's use
|
|
reserved DS.L 1 ; for internal use
|
|
DBAsyncParmBlkSize EQU *
|
|
ENDR
|
|
|
|
; structure for resource list in QueryRecord
|
|
|
|
ResListElem RECORD 0
|
|
theType DS.L 1
|
|
id DS.W 1
|
|
ResListElemSize EQU *
|
|
ENDR
|
|
|
|
QueryRecord RECORD 0
|
|
version DS.W 1 ; version
|
|
id DS.W 1 ; id of 'qrsc' this came from
|
|
queryProc DS.L 1 ; handle to query def proc
|
|
ddevName DS.B 64 ; ddev name
|
|
host DS.B 256 ; host
|
|
user DS.B 256 ; user
|
|
password DS.B 256 ; password
|
|
connStr DS.B 256 ; other connection info
|
|
currQuery DS.W 1 ; current query
|
|
numQueries DS.W 1 ; number of queries in queryList
|
|
queryList DS.L 1 ; handle to list of queries
|
|
numRes DS.W 1 ; number of resources in resList
|
|
resList DS.L 1 ; handle to list of other resources
|
|
dataHandle DS.L 1 ; data used by query def proc
|
|
refCon DS.L 1 ; query's reference value
|
|
QueryRecordSize EQU *
|
|
ENDR
|
|
|
|
DBColInfoRecord RECORD 0
|
|
len DS.W 1
|
|
places DS.W 1
|
|
flags DS.W 1
|
|
DBColInfoRecordSize EQU *
|
|
ENDR
|
|
|
|
ResultsRecord RECORD 0
|
|
numRows DS.W 1 ; number of rows in result
|
|
numCols DS.W 1 ; number of columns per row
|
|
colTypes DS.L 1 ; data type array
|
|
colData DS.L 1 ; actual results
|
|
colInfo DS.L 1 ; DBColInfoRecord array
|
|
ResultsRecordSize EQU *
|
|
ENDR
|
|
|
|
;
|
|
; Routine Selectors
|
|
;
|
|
|
|
InitDBPack EQU $0100
|
|
DBInit EQU $0E02
|
|
DBEnd EQU $0403
|
|
DBGetConnInfo EQU $1704
|
|
DBGetSessionNum EQU $0605
|
|
DBSend EQU $0706
|
|
DBSendItem EQU $0B07
|
|
DBExec EQU $0408
|
|
DBState EQU $0409
|
|
DBGetErr EQU $0E0A
|
|
DBBreak EQU $050B
|
|
DBGetItem EQU $100C
|
|
DBUnGetItem EQU $040D
|
|
DBKill EQU $020E
|
|
DBGetNewQuery EQU $030F
|
|
DBDisposeQuery EQU $0210
|
|
DBStartQuery EQU $0811
|
|
DBGetQueryResults EQU $0A12
|
|
DBResultsToText EQU $0413
|
|
DBInstallResultHandler EQU $0514
|
|
DBRemoveResultHandler EQU $0215
|
|
DBGetResultHandler EQU $0516
|
|
|
|
;
|
|
; For package invocation
|
|
; First arg is routine selector, second is the trap
|
|
; Slightly modified from PackMacs.a to pass selector in D0,
|
|
; and always call Pack13.
|
|
;
|
|
|
|
MACRO
|
|
_Pack13Call
|
|
MOVE.W &SYSLIST[1],D0
|
|
_Pack13
|
|
ENDM
|
|
|
|
;
|
|
; Database Access Manager routines
|
|
;
|
|
MACRO
|
|
_InitDBPack
|
|
MOVE.W #$0004, -(A7) ; push version number
|
|
_Pack13Call #InitDBPack
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBInit
|
|
_Pack13Call #DBInit
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBEnd
|
|
_Pack13Call #DBEnd
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBGetConnInfo
|
|
_Pack13Call #DBGetConnInfo
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBGetSessionNum
|
|
_Pack13Call #DBGetSessionNum
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBSend
|
|
_Pack13Call #DBSend
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBSendItem
|
|
_Pack13Call #DBSendItem
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBExec
|
|
_Pack13Call #DBExec
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBState
|
|
_Pack13Call #DBState
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBGetErr
|
|
_Pack13Call #DBGetErr
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBBreak
|
|
_Pack13Call #DBBreak
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBGetItem
|
|
_Pack13Call #DBGetItem
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBUnGetItem
|
|
_Pack13Call #DBUnGetItem
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBKill
|
|
_Pack13Call #DBKill
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBGetNewQuery
|
|
_Pack13Call #DBGetNewQuery
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBDisposeQuery
|
|
_Pack13Call #DBDisposeQuery
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBStartQuery
|
|
_Pack13Call #DBStartQuery
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBGetQueryResults
|
|
_Pack13Call #DBGetQueryResults
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBResultsToText
|
|
_Pack13Call #DBResultsToText
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBInstallResultHandler
|
|
_Pack13Call #DBInstallResultHandler
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBRemoveResultHandler
|
|
_Pack13Call #DBRemoveResultHandler
|
|
ENDM
|
|
|
|
MACRO
|
|
_DBGetResultHandler
|
|
_Pack13Call #DBGetResultHandler
|
|
ENDM
|
|
|
|
ENDIF ; ...already included |