home *** CD-ROM | disk | FTP | other *** search
- ; Glue routines for arp.library and MANX/AZTEC 'C'
- ; Copyright (C) 1987, Scott Ballantyne
- ; Use at your own risk, etc., etc.
- ; May be freely used.
- ; Added V33 stuff 2/14/88, SDB
- ; Copyright (C) 1988, Scott Ballantyne
- ; Also freely usable
- ; also at your own risk, blah blah blah.
-
- INCLUDE "libraries/arpbase.i"
-
- ; Variables used by 'C' to access certain extra arplibrary returns
-
- global _Errno,4
- global _LastTracker,4
-
- ERRBADINT EQU 1
-
- public _ArpBase
-
- FDECL MACRO
- public _\1
- public _LVO\1
- _\1:
- LIBOFF SET _LVO\1
- ENDM
-
- ARPJMP MACRO
- move.l _ArpBase,a6
- jmp LIBOFF(a6)
- ENDM
-
- ARPCALL MACRO
- move.l _ArpBase,a6
- jsr LIBOFF(a6)
- ENDM
-
- FDECL DosAllocMem
- move.l 4(sp),d0
- ARPJMP
-
- FDECL DosFreeMem
- move.l 4(sp),a1
- ARPJMP
-
- FDECL FPrintf
- movem.l 4(sp),d0/a0 ; file, format string
- lea.l 12(sp),a1 ; data stream
- ARPJMP
-
- FDECL Printf
- move.l 4(sp),a0
- lea.l 8(sp),a1
- ARPJMP
-
- FDECL CreatePort
- move.l 4(sp),a0
- move.l 8(sp),d0
- ARPJMP
-
- FDECL DeletePort
- move.l 4(sp),a1
- ARPJMP
-
- FDECL InitStdPacket
- move.l a2,-(sp) ; aztec needs this saved
- movem.l 8(sp),d0/a0-a2
- ARPCALL
- move.l (sp)+,a2
- rts
-
- FDECL SendPacket
- movem.l 4(sp),d0/a0-a1
- ARPJMP
-
- FDECL EscapeString
- move.l 4(sp),a0
- ARPJMP
-
- FDECL PathName
- movem.l 4(sp),d0/a0
- move.l 12(sp),d1
- ARPJMP
-
- FDECL ReadLine
- move.l 4(sp),a0
- ARPJMP
-
-
- FDECL Atol
- move.l 4(sp),a0
- ARPCALL
- bne.s 1$
- lea.l _Errno,a0
- move.l #ERRBADINT,(a0)
- 1$: rts
-
- FDECL Puts
- move.l 4(sp),a1
- ARPJMP
-
- FDECL GetDevInfo
- move.l a2,-(sp)
- move.l 8(sp),a2
- ARPCALL
- move.l (sp)+,a2
- rts
-
- FDECL Assign
- movem.l 4(sp),a0/a1
- ARPJMP
-
- FDECL BtoCStr
- move.l 4(sp),a0
- movem.l 8(sp),d0-d1
- ARPJMP
-
- FDECL CtoBStr
- move.l 4(sp),a0
- movem.l 8(sp),d0-d1
- ARPJMP
-
- FDECL FindCLI
- move.l 4(sp),d0
- ARPJMP
-
- FDECL CheckAbort
- move.l 4(sp),a1
- ARPJMP
-
- FDECL CheckBreak
- movem.l 4(sp),d1/a1
- ARPJMP
-
- FDECL GADS
- movem.l a2-a3,-(sp)
- move.l 12(sp),a0
- move.l 16(sp),d0
- movem.l 20(sp),a1-a3
- ARPCALL
- movem.l (sp)+,a2-a3
- rts
-
- FDECL Getenv
- movem.l 4(sp),a0-a1
- move.l 12(sp),d0
- ARPJMP
-
- FDECL Setenv
- movem.l 4(sp),a0-a1
- ARPJMP
-
- FDECL CompareLock
- movem.l 4(sp),d0-d1
- ARPJMP
-
- FDECL PatternMatch
- movem.l 4(sp),a0/a1
- ARPJMP
-
- FDECL FindFirst
- movem.l 4(sp),d0/a0
- ARPJMP
-
- FDECL FindNext
- movem.l 4(sp),a0
- ARPJMP
-
- FDECL FreeAnchorChain
- movem.l 4(sp),a0
- ARPJMP
-
- FDECL Strcmp
- movem.l 4(sp),a0-a1
- ARPJMP
-
- FDECL Strncmp
- movem.l 4(sp),a0-a1
- movem.l 12(sp),d0
- ARPJMP
-
- FDECL Toupper ; We allow words or longs here...
- IF INT32
- move.l 4(sp),d0
- ELSE
- move.w 4(sp),d0
- ENDC
- ARPJMP
-
- FDECL QSort
- move.l 4(sp),a0
- movem.l 8(sp),d0-d1
- move.l 16(sp),a1
- ARPJMP
-
- FDECL FileRequest
- move.l 4(sp),a0
- ARPJMP
-
- FDECL CloseWindowSafely
- movem.l 4(sp),a0-a1
- ARPJMP
-
- FDECL AddDANode
- movem.l 4(sp),a0-a1
- movem.l 12(sp),d0-d1
- ARPJMP
-
- FDECL AddDADevs
- move.l 4(sp),a0
- move.l 8(sp),d0
- ARPJMP
-
- FDECL FreeDAList
- move.l 4(sp),a1
- ARPJMP
-
- FDECL FindTaskResList
- ARPJMP
-
- FDECL ArpExit
- movem.l 4(sp),d0/d2
- ARPJMP
-
- FDECL CreateTaskResList
- ARPJMP
-
- FDECL FreeResList
- move.l 4(sp),a1
- ARPJMP
-
- FDECL ArpAllocMem
- movem.l 4(sp),d0-d1
- ARPCALL
- dotrack:
- lea.l _LastTracker,a0
- move.l a1,(a0)
- rts
-
- FDECL ArpOpen
- movem.l 4(sp),d1-d2
- ARPCALL
- bra.s dotrack
-
- FDECL ArpDupLock
- move.l 4(sp),d1
- ARPCALL
- bra.s dotrack
-
- FDECL ArpLock
- movem.l 4(sp),d1/d2
- ARPCALL
- bra.s dotrack
-
- FDECL GetTracker
- ARPCALL
- beq.s dotrack ; Error, no tracker
- move.w 6(sp),dt_ID(a1) ; install ID - this assumes a LONG was passed
- move.l a1,d0 ; return as function value
- bra.s dotrack ; for consistancy
-
- FDECL ArpAlloc
- move.l 4(sp),d0
- ARPCALL
- bra.s dotrack
-
- FDECL RListAlloc
- move.l 4(sp),a0
- move.l 8(sp),d0
- ARPCALL
- bra.s dotrack
-
- FDECL FreeTaskResList
- ARPJMP
-
- FDECL FreeTrackedItem
- move.l 4(sp),a1
- ARPJMP
-
- FDECL GetAccess
- move.l 4(sp),a1
- ARPJMP
-
- FDECL FreeAccess
- move.l 4(sp),a1
- ARPJMP
-
- FDECL SyncRun
- movem.l 4(sp),a0-a1
- movem.l 12(sp),d0-d1
- ARPJMP
-
- *--------- Version 33 stuff
-
- FDECL ASyncRun
- move.l a2,-(sp)
- movem.l 8(sp),a0-a2
- ARPCALL
- move.l (sp)+,a2
- rts
-
- FDECL LoadPrg
- move.l 4(sp),d1
- ARPJMP
-
- FDECL PreParse
- movem.l 4(sp),a0-a1
- ARPJMP
-
- FDECL StamptoStr
- move.l 4(sp),a0
- ARPJMP
-
- FDECL StrtoStamp
- move.l 4(sp),a0
- ARPJMP
-
- FDECL ObtainResidentPrg
- move.l 4(sp),a0
- ARPJMP
-
- FDECL AddResidentPrg
- movem.l 4(sp),d1/a0
- ARPJMP
-
- FDECL RemResidentPrg
- move.l 4(sp),a0
- ARPJMP
-
- FDECL UnLoadPrg
- move.l 4(sp),d1
- ARPJMP
-
- FDECL LMult
- movem.l 4(sp),d0/d1
- ARPJMP
-
- FDECL LDiv
- movem.l 4(sp),d0/d1
- ARPJMP
-
- FDECL LMod
- movem.l 4(sp),d0/d1
- ARPJMP
-
- FDECL CheckSumPrg
- move.l 4(sp),d0
- ARPJMP
-
- FDECL TackOn
- movem.l 4(sp),a0/a1
- ARPJMP
-
- FDECL BaseName
- move.l 4(sp),a0
- ARPJMP
-
- FDECL ReleaseResidentPrg
- move.l 4(sp),d1
- ARPJMP
-
- END
-
-