home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / dirs / fileio_393.lzh / FileIO / C_Example / fileinterface.asm < prev    next >
Assembly Source File  |  1990-10-28  |  6KB  |  326 lines

  1.     SECTION    FileIOCode,CODE
  2.     XREF        _RequesterBase  ;base variable as opened by the C application
  3.  
  4.     far code ;for Manx asm only
  5.     far data
  6.  
  7.     INCLUDE "FileIO.i"
  8.  
  9.     XDEF    _SetFileIOHandlers
  10. _SetFileIOHandlers:
  11.     movea.l    4(sp),a0     ;HandlerBlock
  12.     move.l    a2,-(sp)
  13.     lea        StartUpCode,a2
  14.     move.l    (a0)+,(a2)+
  15.     beq.s        n1
  16.     lea        StartHandler,a1
  17.     move.l    a1,-4(a0)
  18. n1    move.l    (a0)+,(a2)+
  19.     beq.s        n2
  20.     lea        DIHandler,a1
  21.     move.l    a1,-4(a0)
  22. n2    move.l    (a0)+,(a2)+
  23.     beq.s        n3
  24.     lea        GadgetHandler,a1
  25.     move.l    a1,-4(a0)
  26. n3    move.l    (a0)+,(a2)+
  27.     beq.s        n4
  28.     lea        KeyHandler,a1
  29.     move.l    a1,-4(a0)
  30. n4    move.l    (a0),(a2)
  31.     beq.s        n5
  32.     lea        MMHandler,a1
  33.     move.l    a1,(a0)
  34. n5    movea.l    (sp)+,a2
  35.     rts
  36.  
  37. DIHandler:
  38.     movea.l    DICode,a0
  39.     bra.s        handle
  40. MMHandler:
  41.     movea.l    MMCode,a0
  42.     bra.s        handle
  43. GadgetHandler:
  44.     movea.l    GadgetCode,a0
  45. handle:
  46.     movem.l    d0/d2/d5/d6/d7/a2/a3/a4,-(sp)
  47.     jsr        (a0)
  48.     movem.l    (sp)+,d1/d2/d5/d6/d7/a2/a3/a4
  49.     rts
  50. StartHandler:
  51.     movea.l    StartUpCode,a0
  52.     bra.s        handle
  53. KeyHandler:
  54.     movea.l    KeyCode,a0
  55.     bra.s        handle
  56.  
  57.     XDEF    _SetWaitPointer,__SetWaitPointer
  58. _SetWaitPointer:
  59.     movea.l    _RequesterBase,a6
  60. __SetWaitPointer:
  61.     movea.l    4(sp),a0
  62.     jmp        _LVOSetWaitPointer(a6)
  63.  
  64.     XDEF    _BW_Restore,__BW_Restore
  65. _BW_Restore:
  66.     movea.l    _RequesterBase,a6
  67. __BW_Restore:
  68.     move.l    4(sp),d0
  69.     movea.l    8(sp),a0
  70.     jmp        _LVOBW_Restore(a6)
  71.  
  72.     XDEF    _Window_BW,__Window_BW
  73. _Window_BW:
  74.     movea.l    _RequesterBase,a6
  75. __Window_BW:
  76.     movea.l    4(sp),a0
  77.     jmp        _LVOWindow_BW(a6)
  78.  
  79.     XDEF    _AutoMessage,__AutoMessage
  80. _AutoMessage:
  81.     movea.l    _RequesterBase,a6
  82. __AutoMessage:
  83.     move.l    4(sp),d0
  84.     movea.l    8(sp),a0
  85.     jmp        _LVOAutoMessage(a6)
  86.  
  87.     XDEF    _AutoMessageLen,__AutoMessageLen
  88. _AutoMessageLen:
  89.     movea.l    _RequesterBase,a6
  90. __AutoMessageLen:
  91.     move.l    4(sp),d0
  92.     movea.l    8(sp),a0
  93.     move.l    12(sp),d1
  94.     jmp        _LVOAutoMessageLen(a6)
  95.  
  96.     XDEF    _AutoFileMessage,__AutoFileMessage
  97. _AutoFileMessage:
  98.     movea.l    _RequesterBase,a6
  99. __AutoFileMessage:
  100.     move.w    6(sp),d1
  101.     movea.l    8(sp),a0
  102.     jmp        _LVOAutoFileMessage(a6)
  103.  
  104.     XDEF    _ResetBuffer,__ResetBuffer
  105. _ResetBuffer:
  106.     movea.l    _RequesterBase,a6
  107. __ResetBuffer:
  108.     movea.l    4(sp),a0
  109.     move.b    11(sp),d0
  110.     jmp        _LVOResetBuffer(a6)
  111.  
  112.     XDEF    _GetFileIO,__GetFileIO
  113. _GetFileIO:
  114.     movea.l    _RequesterBase,a6
  115. __GetFileIO:
  116.     jmp        _LVOGetFileIO(a6)
  117.  
  118.     XDEF    _DoFileIO,__DoFileIO
  119. _DoFileIO:
  120.     movea.l    _RequesterBase,a6
  121. __DoFileIO:
  122.     movea.l    4(sp),a0
  123.     movea.l    8(sp),a1
  124.     jmp        _LVODoFileIO(a6)
  125.  
  126.     XDEF    _DoFileIOWindow,__DoFileIOWindow
  127. _DoFileIOWindow:
  128.     movea.l    _RequesterBase,a6
  129. __DoFileIOWindow:
  130.     movea.l    4(sp),a0
  131.     movea.l    8(sp),a1
  132.     jmp        _LVODoFileIOWindow(a6)
  133.  
  134.     XDEF    _GetFullPathname,__GetFullPathname
  135. _GetFullPathname:
  136.     movea.l    _RequesterBase,a6
  137. __GetFullPathname:
  138.     movea.l    4(sp),a0
  139.     movea.l    8(sp),a1
  140.     jmp        _LVOGetFullPathname(a6)
  141.  
  142.     XDEF    _ReleaseFileIO,__ReleaseFileIO
  143. _ReleaseFileIO:
  144.     movea.l    _RequesterBase,a6
  145. __ReleaseFileIO:
  146.     movea.l    4(sp),a1
  147.     jmp        _LVOReleaseFileIO(a6)
  148.  
  149.     XDEF    _AutoPrompt3,__AutoPrompt3
  150. _AutoPrompt3:
  151.     movea.l    _RequesterBase,a6
  152. __AutoPrompt3:
  153.     movem.l    a2/a3,-(sp)
  154.     movea.l    12(sp),a1
  155.     movea.l    16(sp),a2
  156.     movea.l    20(sp),a3
  157.     movea.l    24(sp),a0
  158.     jsr        _LVOAutoPrompt3(a6)
  159.     movem.l    (sp)+,a2/a3
  160.     rts
  161.  
  162.     XDEF    _PromptUserEntry,__PromptUserEntry
  163. _PromptUserEntry:
  164.     movea.l    _RequesterBase,a6
  165. __PromptUserEntry:
  166.     move.l    a2,-(sp)
  167.     move.l    a3,-(sp)
  168.     movem.l    12(sp),d0/a0/a1/a2/a3
  169.     jsr        _LVOPromptUserEntry(a6)
  170.     movea.l    (sp)+,a3
  171.     movea.l    (sp)+,a2
  172.     rts
  173.  
  174.     XDEF    _SetTitle,__SetTitle
  175. _SetTitle:
  176.     movea.l    _RequesterBase,a6
  177. __SetTitle:
  178.     move.l    a2,-(sp)
  179.     move.l    a3,-(sp)
  180.     movem.l    12(sp),a0/a1/a2/a3
  181.     jsr        _LVOSetTitle(a6)
  182.     movea.l    (sp)+,a3
  183.     movea.l    (sp)+,a2
  184.     rts
  185.  
  186.     XDEF    _ResetTitle,__ResetTitle
  187. _ResetTitle:
  188.     movea.l    _RequesterBase,a6
  189. __ResetTitle:
  190.     move.l    a2,-(sp)
  191.     move.l    a3,-(sp)
  192.     movem.l    12(sp),a2/a3
  193.     jsr        _LVOResetTitle(a6)
  194.     movea.l    (sp)+,a3
  195.     movea.l    (sp)+,a2
  196.     rts
  197.  
  198.     XDEF    _UserEntry,__UserEntry
  199. _UserEntry:
  200.     movea.l    _RequesterBase,a6
  201. __UserEntry:
  202.     move.l    a2,-(sp)
  203.     move.l    a3,-(sp)
  204.     movem.l    12(sp),d0/a0/a2/a3
  205.     jsr        _LVOUserEntry(a6)
  206.     movea.l    (sp)+,a3
  207.     movea.l    (sp)+,a2
  208.     rts
  209.  
  210.     XDEF    _GetRawkey,__GetRawkey
  211. _GetRawkey:
  212.     movea.l    _RequesterBase,a6
  213. __GetRawkey:
  214.     move.l    a3,-(sp)
  215.     movea.l    4(sp),a3
  216.     jsr        _LVOGetRawkey(a6)
  217.     movea.l    (sp)+,a3
  218.     rts
  219.  
  220.     XDEF    _DecodeRawkey,__DecodeRawkey
  221. _DecodeRawkey:
  222.     movea.l    _RequesterBase,a6
  223. __DecodeRawkey:
  224.     movea.l    4(sp),a1
  225.     move.l    8(sp),d0
  226.     jmp        _LVODecodeRawkey(a6)
  227.  
  228.     XDEF    _TypeFilename,__TypeFilename
  229. _TypeFilename:
  230.     movea.l    _RequesterBase,a6
  231. __TypeFilename:
  232.     movea.l    4(sp),a0
  233.     movea.l    8(sp),a1
  234.     jmp        _LVOTypeFilename(a6)
  235.  
  236.     XDEF    _ParseString,__ParseString
  237. _ParseString:
  238.     movea.l    _RequesterBase,a6
  239. __ParseString:
  240.     movea.l    4(sp),a0
  241.     movea.l    8(sp),a1
  242.     jmp        _LVOParseString(a6)
  243.  
  244.     XDEF    __NewEntryList,_NewEntryList
  245. _NewEntryList:
  246.     movea.l    _RequesterBase,a6
  247. __NewEntryList:
  248.     movea.l    4(sp),a1
  249.     jmp        _LVONewEntryList(a6)
  250.  
  251.     XDEF    __IsEntryThere,_IsEntryThere
  252. _IsEntryThere:
  253.     movea.l    _RequesterBase,a6
  254. __IsEntryThere:
  255.     movea.l    4(sp),a0
  256.     movea.l    8(sp),a1
  257.     jsr        _LVOIsEntryThere(a6)
  258.     move.l    a0,_ThisEntry
  259.     move.l    d1,_PrevEntry
  260.     rts
  261.  
  262.     XDEF    __AddEntry,_AddEntry
  263. _AddEntry:
  264.     movea.l    _RequesterBase,a6
  265. __AddEntry:
  266.     movem.l    4(sp),d1/a0/a1
  267.     jmp        _LVOAddEntry(a6)
  268.  
  269.     XDEF    __RetrieveEntry,_RetrieveEntry
  270. _RetrieveEntry:
  271.     movea.l    _RequesterBase,a6
  272. __RetrieveEntry:
  273.     movem.l    4(sp),a0/a1
  274.     jsr        _LVORetrieveEntry(a6)
  275.     move.l    d1,_PrevEntry
  276.     rts
  277.  
  278.     XDEF    __ClearEntries,_ClearEntries
  279. _ClearEntries:
  280.     movea.l    _RequesterBase,a6
  281. __ClearEntries:
  282.     movea.l    4(sp),a1
  283.     jmp        _LVOClearEntries(a6)
  284.  
  285.     XDEF    __PutProjIcon,_PutProjIcon
  286. _PutProjIcon:
  287.     movea.l    _RequesterBase,a6
  288. __PutProjIcon:
  289.     movem.l    4(sp),a0/a1
  290.     jmp        _LVOPutProjIcon(a6)
  291.  
  292.     XDEF    __DeleteEntry,_DeleteEntry
  293. _DeleteEntry:
  294.     movea.l    _RequesterBase,a6
  295. __DeleteEntry:
  296.     movem.l    4(sp),a0/a1
  297.     jmp    _LVODeleteEntry(a6)
  298.  
  299.     XDEF    __FindDeleteEntry,_FindDeleteEntry
  300. _FindDeleteEntry:
  301.     movea.l    _RequesterBase,a6
  302. __FindDeleteEntry:
  303.     movem.l    4(sp),d1/a0/a1
  304.     jmp    _LVOFindDeleteEntry(a6)
  305.  
  306.     XDEF    __AddFileGadgs,_AddFileGadgs
  307. _AddFileGadgs:
  308.     movea.l    _RequesterBase,a6
  309. __AddFileGadgs:
  310.     movem.l    a3/a5,-(sp)
  311.     movem.l    12(sp),a0/a3/a5
  312.     jsr    _LVOAddFileGadgs(a6)
  313.     movem.l    (sp)+,a3/a5
  314.     rts
  315.  
  316.     SECTION    fin,DATA
  317.  
  318. StartUpCode    dc.l 0
  319. DICode        dc.l 0
  320. GadgetCode    dc.l 0
  321. KeyCode        dc.l 0
  322. MMCode        dc.l 0
  323.     XDEF    _ThisEntry,_PrevEntry
  324. _ThisEntry    dc.l 0
  325. _PrevEntry    dc.l 0
  326.