home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / disks / disk463.lzh / FileIO / C / FileInterface.asm next >
Assembly Source File  |  1991-03-09  |  7KB  |  350 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    _ParentPath,__ParentPath
  65. _ParentPath:
  66.     movea.l    _RequesterBase,a6
  67. __ParentPath:
  68.     movea.l    4(sp),a0
  69.     movea.l    8(sp),a1
  70.     jmp        _LVOParentPath(a6)
  71.  
  72.     XDEF    _FindName,__FindName
  73. _FindName:
  74.     movea.l    _RequesterBase,a6
  75. __FindName:
  76.     movea.l    4(sp),a0
  77.     movea.l    8(sp),a1
  78.     jmp        _LVOFindName(a6)
  79.  
  80.     XDEF    _ParentLock,__ParentLock
  81. _ParentLock:
  82.     movea.l    _RequesterBase,a6
  83. __ParentLock:
  84.     movea.l    4(sp),a0
  85.     movea.l    8(sp),a1
  86.     jmp        _LVOParentLock(a6)
  87.  
  88.     XDEF    _BW_Restore,__BW_Restore
  89. _BW_Restore:
  90.     movea.l    _RequesterBase,a6
  91. __BW_Restore:
  92.     move.l    4(sp),d0
  93.     movea.l    8(sp),a0
  94.     jmp        _LVOBW_Restore(a6)
  95.  
  96.     XDEF    _Window_BW,__Window_BW
  97. _Window_BW:
  98.     movea.l    _RequesterBase,a6
  99. __Window_BW:
  100.     movea.l    4(sp),a0
  101.     jmp        _LVOWindow_BW(a6)
  102.  
  103.     XDEF    _AutoMessage,__AutoMessage
  104. _AutoMessage:
  105.     movea.l    _RequesterBase,a6
  106. __AutoMessage:
  107.     move.l    4(sp),d0
  108.     movea.l    8(sp),a0
  109.     jmp        _LVOAutoMessage(a6)
  110.  
  111.     XDEF    _AutoMessageLen,__AutoMessageLen
  112. _AutoMessageLen:
  113.     movea.l    _RequesterBase,a6
  114. __AutoMessageLen:
  115.     move.l    4(sp),d0
  116.     movea.l    8(sp),a0
  117.     move.l    12(sp),d1
  118.     jmp        _LVOAutoMessageLen(a6)
  119.  
  120.     XDEF    _AutoFileMessage,__AutoFileMessage
  121. _AutoFileMessage:
  122.     movea.l    _RequesterBase,a6
  123. __AutoFileMessage:
  124.     move.w    6(sp),d1
  125.     movea.l    8(sp),a0
  126.     jmp        _LVOAutoFileMessage(a6)
  127.  
  128.     XDEF    _ResetBuffer,__ResetBuffer
  129. _ResetBuffer:
  130.     movea.l    _RequesterBase,a6
  131. __ResetBuffer:
  132.     movea.l    4(sp),a0
  133.     move.b    11(sp),d0
  134.     jmp        _LVOResetBuffer(a6)
  135.  
  136.     XDEF    _GetFileIO,__GetFileIO
  137. _GetFileIO:
  138.     movea.l    _RequesterBase,a6
  139. __GetFileIO:
  140.     jmp        _LVOGetFileIO(a6)
  141.  
  142.     XDEF    _DoFileIO,__DoFileIO
  143. _DoFileIO:
  144.     movea.l    _RequesterBase,a6
  145. __DoFileIO:
  146.     movea.l    4(sp),a0
  147.     movea.l    8(sp),a1
  148.     jmp        _LVODoFileIO(a6)
  149.  
  150.     XDEF    _DoFileIOWindow,__DoFileIOWindow
  151. _DoFileIOWindow:
  152.     movea.l    _RequesterBase,a6
  153. __DoFileIOWindow:
  154.     movea.l    4(sp),a0
  155.     movea.l    8(sp),a1
  156.     jmp        _LVODoFileIOWindow(a6)
  157.  
  158.     XDEF    _GetFullPathname,__GetFullPathname
  159. _GetFullPathname:
  160.     movea.l    _RequesterBase,a6
  161. __GetFullPathname:
  162.     movea.l    4(sp),a0
  163.     movea.l    8(sp),a1
  164.     jmp        _LVOGetFullPathname(a6)
  165.  
  166.     XDEF    _ReleaseFileIO,__ReleaseFileIO
  167. _ReleaseFileIO:
  168.     movea.l    _RequesterBase,a6
  169. __ReleaseFileIO:
  170.     movea.l    4(sp),a1
  171.     jmp        _LVOReleaseFileIO(a6)
  172.  
  173.     XDEF    _AutoPrompt3,__AutoPrompt3
  174. _AutoPrompt3:
  175.     movea.l    _RequesterBase,a6
  176. __AutoPrompt3:
  177.     movem.l    a2/a3,-(sp)
  178.     movea.l    12(sp),a1
  179.     movea.l    16(sp),a2
  180.     movea.l    20(sp),a3
  181.     movea.l    24(sp),a0
  182.     jsr        _LVOAutoPrompt3(a6)
  183.     movem.l    (sp)+,a2/a3
  184.     rts
  185.  
  186.     XDEF    _PromptUserEntry,__PromptUserEntry
  187. _PromptUserEntry:
  188.     movea.l    _RequesterBase,a6
  189. __PromptUserEntry:
  190.     move.l    a2,-(sp)
  191.     move.l    a3,-(sp)
  192.     movem.l    12(sp),d0/a0/a1/a2/a3
  193.     jsr        _LVOPromptUserEntry(a6)
  194.     movea.l    (sp)+,a3
  195.     movea.l    (sp)+,a2
  196.     rts
  197.  
  198.     XDEF    _SetTitle,__SetTitle
  199. _SetTitle:
  200.     movea.l    _RequesterBase,a6
  201. __SetTitle:
  202.     move.l    a2,-(sp)
  203.     move.l    a3,-(sp)
  204.     movem.l    12(sp),a0/a1/a2/a3
  205.     jsr        _LVOSetTitle(a6)
  206.     movea.l    (sp)+,a3
  207.     movea.l    (sp)+,a2
  208.     rts
  209.  
  210.     XDEF    _ResetTitle,__ResetTitle
  211. _ResetTitle:
  212.     movea.l    _RequesterBase,a6
  213. __ResetTitle:
  214.     move.l    a2,-(sp)
  215.     move.l    a3,-(sp)
  216.     movem.l    12(sp),a2/a3
  217.     jsr        _LVOResetTitle(a6)
  218.     movea.l    (sp)+,a3
  219.     movea.l    (sp)+,a2
  220.     rts
  221.  
  222.     XDEF    _UserEntry,__UserEntry
  223. _UserEntry:
  224.     movea.l    _RequesterBase,a6
  225. __UserEntry:
  226.     move.l    a2,-(sp)
  227.     move.l    a3,-(sp)
  228.     movem.l    12(sp),d0/a0/a2/a3
  229.     jsr        _LVOUserEntry(a6)
  230.     movea.l    (sp)+,a3
  231.     movea.l    (sp)+,a2
  232.     rts
  233.  
  234.     XDEF    _GetRawkey,__GetRawkey
  235. _GetRawkey:
  236.     movea.l    _RequesterBase,a6
  237. __GetRawkey:
  238.     move.l    a3,-(sp)
  239.     movea.l    4(sp),a3
  240.     jsr        _LVOGetRawkey(a6)
  241.     movea.l    (sp)+,a3
  242.     rts
  243.  
  244.     XDEF    _DecodeRawkey,__DecodeRawkey
  245. _DecodeRawkey:
  246.     movea.l    _RequesterBase,a6
  247. __DecodeRawkey:
  248.     movea.l    4(sp),a1
  249.     move.l    8(sp),d0
  250.     jmp        _LVODecodeRawkey(a6)
  251.  
  252.     XDEF    _TypeFilename,__TypeFilename
  253. _TypeFilename:
  254.     movea.l    _RequesterBase,a6
  255. __TypeFilename:
  256.     movea.l    4(sp),a0
  257.     movea.l    8(sp),a1
  258.     jmp        _LVOTypeFilename(a6)
  259.  
  260.     XDEF    _ParseString,__ParseString
  261. _ParseString:
  262.     movea.l    _RequesterBase,a6
  263. __ParseString:
  264.     movea.l    4(sp),a0
  265.     movea.l    8(sp),a1
  266.     jmp        _LVOParseString(a6)
  267.  
  268.     XDEF    __NewEntryList,_NewEntryList
  269. _NewEntryList:
  270.     movea.l    _RequesterBase,a6
  271. __NewEntryList:
  272.     movea.l    4(sp),a1
  273.     jmp        _LVONewEntryList(a6)
  274.  
  275.     XDEF    __IsEntryThere,_IsEntryThere
  276. _IsEntryThere:
  277.     movea.l    _RequesterBase,a6
  278. __IsEntryThere:
  279.     movea.l    4(sp),a0
  280.     movea.l    8(sp),a1
  281.     jsr        _LVOIsEntryThere(a6)
  282.     move.l    a0,_ThisEntry
  283.     move.l    d1,_PrevEntry
  284.     rts
  285.  
  286.     XDEF    __AddEntry,_AddEntry
  287. _AddEntry:
  288.     movea.l    _RequesterBase,a6
  289. __AddEntry:
  290.     movem.l    4(sp),d1/a0/a1
  291.     jmp        _LVOAddEntry(a6)
  292.  
  293.     XDEF    __RetrieveEntry,_RetrieveEntry
  294. _RetrieveEntry:
  295.     movea.l    _RequesterBase,a6
  296. __RetrieveEntry:
  297.     movem.l    4(sp),a0/a1
  298.     jsr        _LVORetrieveEntry(a6)
  299.     move.l    d1,_PrevEntry
  300.     rts
  301.  
  302.     XDEF    __ClearEntries,_ClearEntries
  303. _ClearEntries:
  304.     movea.l    _RequesterBase,a6
  305. __ClearEntries:
  306.     movea.l    4(sp),a1
  307.     jmp        _LVOClearEntries(a6)
  308.  
  309.     XDEF    __PutProjIcon,_PutProjIcon
  310. _PutProjIcon:
  311.     movea.l    _RequesterBase,a6
  312. __PutProjIcon:
  313.     movem.l    4(sp),a0/a1
  314.     jmp        _LVOPutProjIcon(a6)
  315.  
  316.     XDEF    __DeleteEntry,_DeleteEntry
  317. _DeleteEntry:
  318.     movea.l    _RequesterBase,a6
  319. __DeleteEntry:
  320.     movem.l    4(sp),a0/a1
  321.     jmp    _LVODeleteEntry(a6)
  322.  
  323.     XDEF    __FindDeleteEntry,_FindDeleteEntry
  324. _FindDeleteEntry:
  325.     movea.l    _RequesterBase,a6
  326. __FindDeleteEntry:
  327.     movem.l    4(sp),d1/a0/a1
  328.     jmp    _LVOFindDeleteEntry(a6)
  329.  
  330.     XDEF    __AddFileGadgs,_AddFileGadgs
  331. _AddFileGadgs:
  332.     movea.l    _RequesterBase,a6
  333. __AddFileGadgs:
  334.     movem.l    a3/a5,-(sp)
  335.     movem.l    12(sp),a0/a3/a5
  336.     jsr    _LVOAddFileGadgs(a6)
  337.     movem.l    (sp)+,a3/a5
  338.     rts
  339.  
  340.     SECTION    fin,DATA
  341.  
  342. StartUpCode    dc.l 0
  343. DICode        dc.l 0
  344. GadgetCode    dc.l 0
  345. KeyCode        dc.l 0
  346. MMCode        dc.l 0
  347.     XDEF    _ThisEntry,_PrevEntry
  348. _ThisEntry    dc.l 0
  349. _PrevEntry    dc.l 0
  350.