home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 122.lha / Arp_v1.1 / Libraries / Manx_SRC / AztecGlue.s < prev    next >
Encoding:
Text File  |  1986-11-21  |  4.6 KB  |  364 lines

  1. ; Glue routines for arp.library and MANX/AZTEC 'C'
  2. ; Copyright (C) 1987, Scott Ballantyne
  3. ; Use at your own risk, etc., etc.
  4. ; May be freely used.
  5. ; Added V33 stuff 2/14/88, SDB
  6. ; Copyright (C) 1988, Scott Ballantyne
  7. ; Also freely usable
  8. ; also at your own risk, blah blah blah.
  9.  
  10.     INCLUDE    "libraries/arpbase.i"
  11.  
  12. ; Variables used by 'C' to access certain extra arplibrary returns
  13.  
  14.     global    _Errno,4
  15.     global    _LastTracker,4
  16.  
  17. ERRBADINT    EQU    1
  18.  
  19.     public    _ArpBase
  20.  
  21. FDECL    MACRO
  22.     public    _\1
  23.     public    _LVO\1
  24.     _\1:
  25. LIBOFF    SET    _LVO\1
  26.     ENDM
  27.  
  28. ARPJMP    MACRO
  29.     move.l    _ArpBase,a6
  30.     jmp    LIBOFF(a6)
  31.     ENDM
  32.  
  33. ARPCALL    MACRO
  34.     move.l    _ArpBase,a6
  35.     jsr    LIBOFF(a6)
  36.     ENDM
  37.  
  38.     FDECL    DosAllocMem
  39.     move.l    4(sp),d0
  40.     ARPJMP
  41.  
  42.     FDECL    DosFreeMem
  43.     move.l    4(sp),a1
  44.     ARPJMP
  45.  
  46.     FDECL    FPrintf
  47.     movem.l    4(sp),d0/a0        ; file, format string
  48.     lea.l    12(sp),a1        ; data stream
  49.     ARPJMP
  50.  
  51.     FDECL    Printf
  52.     move.l    4(sp),a0
  53.     lea.l    8(sp),a1
  54.     ARPJMP
  55.  
  56.     FDECL    CreatePort
  57.     move.l    4(sp),a0
  58.     move.l    8(sp),d0
  59.     ARPJMP
  60.  
  61.     FDECL    DeletePort
  62.     move.l    4(sp),a1
  63.     ARPJMP
  64.  
  65.     FDECL    InitStdPacket
  66.     move.l    a2,-(sp)        ; aztec needs this saved
  67.     movem.l    8(sp),d0/a0-a2
  68.     ARPCALL
  69.     move.l    (sp)+,a2
  70.     rts
  71.  
  72.     FDECL    SendPacket
  73.     movem.l    4(sp),d0/a0-a1
  74.     ARPJMP
  75.  
  76.     FDECL    EscapeString
  77.     move.l    4(sp),a0
  78.     ARPJMP
  79.  
  80.     FDECL    PathName
  81.     movem.l    4(sp),d0/a0
  82.     move.l    12(sp),d1
  83.     ARPJMP
  84.  
  85.     FDECL    ReadLine
  86.     move.l    4(sp),a0
  87.     ARPJMP
  88.  
  89.  
  90.     FDECL    Atol
  91.     move.l    4(sp),a0
  92.     ARPCALL
  93.     bne.s    1$
  94.     lea.l    _Errno,a0
  95.     move.l    #ERRBADINT,(a0)
  96. 1$:    rts
  97.  
  98.     FDECL    Puts
  99.     move.l    4(sp),a1
  100.     ARPJMP
  101.  
  102.     FDECL    GetDevInfo
  103.     move.l    a2,-(sp)
  104.     move.l    8(sp),a2
  105.     ARPCALL
  106.     move.l    (sp)+,a2
  107.     rts
  108.  
  109.     FDECL    Assign
  110.     movem.l    4(sp),a0/a1
  111.     ARPJMP
  112.  
  113.     FDECL    BtoCStr
  114.     move.l    4(sp),a0
  115.     movem.l    8(sp),d0-d1
  116.     ARPJMP
  117.  
  118.     FDECL    CtoBStr
  119.     move.l    4(sp),a0
  120.     movem.l    8(sp),d0-d1
  121.     ARPJMP
  122.  
  123.     FDECL    FindCLI
  124.     move.l    4(sp),d0
  125.     ARPJMP
  126.  
  127.     FDECL    CheckAbort
  128.     move.l    4(sp),a1
  129.     ARPJMP
  130.  
  131.     FDECL    CheckBreak
  132.     movem.l    4(sp),d1/a1
  133.     ARPJMP
  134.  
  135.     FDECL    GADS
  136.     movem.l    a2-a3,-(sp)
  137.     move.l    12(sp),a0
  138.     move.l    16(sp),d0
  139.     movem.l    20(sp),a1-a3
  140.     ARPCALL
  141.     movem.l    (sp)+,a2-a3
  142.     rts
  143.  
  144.     FDECL    Getenv
  145.     movem.l    4(sp),a0-a1
  146.     move.l    12(sp),d0
  147.     ARPJMP
  148.  
  149.     FDECL    Setenv
  150.     movem.l    4(sp),a0-a1
  151.     ARPJMP
  152.  
  153.     FDECL    CompareLock
  154.     movem.l    4(sp),d0-d1
  155.     ARPJMP
  156.  
  157.     FDECL    PatternMatch
  158.     movem.l    4(sp),a0/a1
  159.     ARPJMP
  160.  
  161.     FDECL    FindFirst
  162.     movem.l    4(sp),d0/a0
  163.     ARPJMP
  164.  
  165.     FDECL    FindNext
  166.     movem.l    4(sp),a0
  167.     ARPJMP
  168.  
  169.     FDECL    FreeAnchorChain
  170.     movem.l    4(sp),a0
  171.     ARPJMP
  172.  
  173.     FDECL    Strcmp
  174.     movem.l    4(sp),a0-a1
  175.     ARPJMP
  176.  
  177.     FDECL    Strncmp
  178.     movem.l    4(sp),a0-a1
  179.     movem.l    12(sp),d0
  180.     ARPJMP
  181.  
  182.     FDECL    Toupper        ; We allow words or longs here...
  183.     IF    INT32
  184.     move.l    4(sp),d0
  185.     ELSE
  186.     move.w    4(sp),d0
  187.     ENDC
  188.     ARPJMP
  189.  
  190.     FDECL    QSort
  191.     move.l    4(sp),a0
  192.     movem.l    8(sp),d0-d1
  193.     move.l    16(sp),a1
  194.     ARPJMP
  195.  
  196.     FDECL    FileRequest
  197.     move.l    4(sp),a0
  198.     ARPJMP
  199.  
  200.     FDECL    CloseWindowSafely
  201.     movem.l    4(sp),a0-a1
  202.     ARPJMP
  203.  
  204.     FDECL    AddDANode
  205.     movem.l    4(sp),a0-a1
  206.     movem.l    12(sp),d0-d1
  207.     ARPJMP
  208.  
  209.     FDECL    AddDADevs
  210.     move.l    4(sp),a0
  211.     move.l    8(sp),d0
  212.     ARPJMP
  213.  
  214.     FDECL    FreeDAList
  215.     move.l    4(sp),a1
  216.     ARPJMP
  217.  
  218.     FDECL    FindTaskResList
  219.     ARPJMP
  220.  
  221.     FDECL    ArpExit
  222.     movem.l    4(sp),d0/d2
  223.     ARPJMP
  224.  
  225.     FDECL    CreateTaskResList
  226.     ARPJMP
  227.  
  228.     FDECL    FreeResList
  229.     move.l    4(sp),a1
  230.     ARPJMP
  231.  
  232.     FDECL    ArpAllocMem
  233.     movem.l    4(sp),d0-d1
  234.     ARPCALL
  235. dotrack:
  236.     lea.l    _LastTracker,a0
  237.     move.l    a1,(a0)
  238.     rts
  239.  
  240.     FDECL    ArpOpen
  241.     movem.l    4(sp),d1-d2
  242.     ARPCALL
  243.     bra.s    dotrack
  244.  
  245.     FDECL    ArpDupLock
  246.     move.l    4(sp),d1
  247.     ARPCALL
  248.     bra.s    dotrack
  249.  
  250.     FDECL    ArpLock
  251.     movem.l    4(sp),d1/d2
  252.     ARPCALL
  253.     bra.s    dotrack
  254.  
  255.     FDECL    GetTracker
  256.     ARPCALL
  257.     beq.s    dotrack           ; Error, no tracker
  258.     move.w    6(sp),dt_ID(a1)    ; install ID - this assumes a LONG was passed
  259.     move.l    a1,d0            ; return as function value
  260.     bra.s    dotrack            ; for consistancy
  261.     
  262.     FDECL    ArpAlloc
  263.     move.l    4(sp),d0
  264.     ARPCALL
  265.     bra.s    dotrack
  266.  
  267.     FDECL    RListAlloc
  268.     move.l    4(sp),a0
  269.     move.l    8(sp),d0
  270.     ARPCALL
  271.     bra.s    dotrack
  272.  
  273.     FDECL    FreeTaskResList
  274.     ARPJMP
  275.  
  276.     FDECL    FreeTrackedItem
  277.     move.l    4(sp),a1
  278.     ARPJMP
  279.  
  280.     FDECL    GetAccess
  281.     move.l    4(sp),a1
  282.     ARPJMP
  283.  
  284.     FDECL    FreeAccess
  285.     move.l    4(sp),a1
  286.     ARPJMP
  287.  
  288.     FDECL    SyncRun
  289.     movem.l    4(sp),a0-a1
  290.     movem.l    12(sp),d0-d1
  291.     ARPJMP
  292.  
  293. *--------- Version 33 stuff
  294.  
  295.     FDECL    ASyncRun
  296.     move.l    a2,-(sp)
  297.     movem.l    8(sp),a0-a2
  298.     ARPCALL
  299.     move.l    (sp)+,a2
  300.     rts
  301.  
  302.     FDECL    LoadPrg
  303.     move.l    4(sp),d1
  304.     ARPJMP
  305.  
  306.     FDECL    PreParse
  307.     movem.l    4(sp),a0-a1
  308.     ARPJMP
  309.  
  310.     FDECL    StamptoStr
  311.     move.l    4(sp),a0
  312.     ARPJMP
  313.  
  314.     FDECL    StrtoStamp
  315.     move.l    4(sp),a0
  316.     ARPJMP
  317.  
  318.     FDECL    ObtainResidentPrg
  319.     move.l    4(sp),a0
  320.     ARPJMP
  321.  
  322.     FDECL    AddResidentPrg
  323.     movem.l    4(sp),d1/a0
  324.     ARPJMP
  325.  
  326.     FDECL    RemResidentPrg
  327.     move.l    4(sp),a0
  328.     ARPJMP
  329.  
  330.     FDECL    UnLoadPrg
  331.     move.l    4(sp),d1
  332.     ARPJMP
  333.  
  334.     FDECL    LMult
  335.     movem.l    4(sp),d0/d1
  336.     ARPJMP
  337.  
  338.     FDECL    LDiv
  339.     movem.l    4(sp),d0/d1
  340.     ARPJMP
  341.  
  342.     FDECL    LMod
  343.     movem.l    4(sp),d0/d1
  344.     ARPJMP
  345.  
  346.     FDECL    CheckSumPrg
  347.     move.l    4(sp),d0
  348.     ARPJMP
  349.  
  350.     FDECL    TackOn
  351.     movem.l    4(sp),a0/a1
  352.     ARPJMP
  353.  
  354.     FDECL    BaseName
  355.     move.l    4(sp),a0
  356.     ARPJMP
  357.  
  358.     FDECL    ReleaseResidentPrg
  359.     move.l    4(sp),d1
  360.     ARPJMP
  361.  
  362.     END
  363.  
  364.