home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / documentation / documents / a252filt < prev    next >
Internet Message Format  |  1999-04-27  |  4KB

  1. From: jbye@acorn.co.uk (James)
  2. Subject: Re: FilterManager SWIs
  3. Date: 3 Aug 92 07:52:44 GMT
  4.  
  5. Filter Manager
  6. --------------
  7.  
  8. Filter Manager service calls:
  9.  
  10. Service_FilterManagerInstalled (&87)
  11. ------------------------------
  12.  in     R0 = Version number of Filter Manager *100, ie. 1.23 => 123
  13.         R1 = Service_FilterManagerInstalled
  14.  out    all must be preserved, must never be claimed
  15.  
  16. This service call is broadcast to allow modules that install a Filter
  17. to be reinstalled when the filter manager is reloaded / re-inited.
  18.  
  19. The SWI is issued on a callback, so the SWI interface is valid for
  20. registering filters.
  21.  
  22.  
  23. Service_FilterManagerDying (&88)
  24. --------------------------
  25.  in     R1 = Service_FilterManagerDying
  26.  out    all must be preserved, must never be claimed
  27.  
  28. This is broadcast when the filter manager has unlinked all filters from
  29. its active lists (just before the module dies) to allow the filter owners
  30. to tidy any internal state.
  31.  
  32.  
  33. Filter manager SWIs:
  34.  
  35.  
  36. Filter_RegisterPreFilter (SWI &42640)
  37.  
  38.  Add a new pre filter to the list of pre filters.
  39.  
  40.  Entry:
  41.         R0 - Pointer to 0 terminated filter name. 
  42.         R1 - Addresss of filter.
  43.         R2 - Value to be passed in R12.
  44.         R3 - Task handle of task to which filter is applied.
  45.              or 0 for all tasks.
  46.  
  47.  Exit:
  48.         Registers preserved.
  49.  
  50.         The address pointed to by R1 will be called whenever the task who's
  51. handle is passed in R3 calls Wimp_Poll with R12 equal to the value of R2
  52. when this SWI is called.
  53.  
  54.                          
  55.         The routine pointed to by R1 will be called with:
  56.  
  57.         R0 =  Event mask as passed to Wimp_Poll
  58.         R1 -> Event block as passed to Wimp_Poll
  59.         R2 = Task handle of task that called Wimp_Poll.  
  60.  
  61.         On Exit:
  62.  
  63.         It may clear bits in r0 to provide a new event mask.
  64.  
  65.         It must preserve all other registers.
  66.  
  67.  
  68.  
  69. Filter_RegisterPostFilter (SWI &42641)
  70.  
  71.  Add a new post filter to the list of post filters.
  72.  
  73.  Entry:
  74.         R0 - Pointer to 0 terminated filter name. 
  75.         R1 - Addresss of filter.
  76.         R2 - Value to be passed in R12.
  77.         R3 - Task handle of task to which filter is applied.
  78.              or 0 for all tasks.
  79.         R4 - Event mask ( 1 bit masks the event out as for Wimp_Poll).
  80.  
  81.  Exit:
  82.         Registers preserved.
  83.  
  84.   
  85.         The address pointed to by R1 will be called whenever the Wimp is
  86. about to return to the task who's handle is passed in R3 from Wimp_Poll with
  87. R12 equal to the value of R2 when this SWI is called.
  88.  
  89.         On entry to the routine pointed to by R1:
  90.  
  91.         R0 - Event reason code (as from Wimp Poll)
  92.         R1 -> User's event buffer.
  93.         R2 = Task handle for task to which the return is made.
  94.         Task paged in.
  95.  
  96.         On Exit:
  97.  
  98.         The routine may modify the reason code in r0 and the contents of the 
  99.         buffer pointed to by R1 to provide a new event.
  100.  
  101.         It must preserve R1 and R2.
  102.                                           
  103.  
  104.  
  105.  
  106.  
  107.  Filter_DeRegisterPreFilter (SWI &42642)
  108.  
  109.  Remove a pre filter from the list of pre filters.
  110.  
  111.  Entry:
  112.         R0 - Pointer to 0 terminated filter name. 
  113.         R1 - Addresss of filter.
  114.         R2 - Value to be passed in R12.
  115.         R3 - Task handle of task to which filter was applied.
  116.  
  117.         All must be the same as those passed to RegisterPreFilter
  118.  Exit:
  119.         Registers preserved.
  120.         Filter de-registered.
  121.  
  122.  
  123.  Filter_DeRegisterPostFilter (SWI &42642)
  124.  
  125.  Remove a pre filter from the list of pre filters.
  126.  
  127.  Entry:
  128.         R0 - Pointer to 0 terminated filter name. 
  129.         R1 - Addresss of filter.
  130.         R2 - Value to be passed in R12.
  131.         R3 - Task handle of task to which filter was applied.
  132.  
  133.         All must be the same as those passed to RegisterPreFilter
  134.  Exit:
  135.         Registers preserved.
  136.         Filter de-registered.
  137.  
  138.   
  139.   
  140.  
  141.  
  142.