Changes between Version 2 and Version 3 of ioc_device_api


Ignore:
Timestamp:
Nov 7, 2016, 12:34:56 PM (7 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ioc_device_api

    v2 v3  
    2626
    2727== B) Access functions ==
     28
     29=== 1) '''void dev_ioc_init'''( xptr_t   xp_dev ) ===
     30
     31This function makes two initialisations:
     32 * it initialises the IOC specific fields of the device descriptor.
     33 * it initialises the implementation specific IOC hardware device and associated data structures if required.
     34It can be executed in another cluster than the cluster containing the IOC device descriptor or the IOC hardware device itself.
     35The <xp_dev> argument is an extended pointer on the IOC device descriptor.
     36
     37=== 2) '''void dev_ioc_read'''( char * buffer , uint32_t  lba , uint32_t  count) ===
     38
     39This blocking function try to tranfer one or several contiguous blocks of data from the block device to a memory buffer. The calling thread is registered in the device pending request queue, and descheduled, waiting on transfer completion. It is re-activared by the IRQ signaling completion. It must be called in the client cluster.
     40The <buffer> argument is...
     41The <lba> argument is the first block index in block device.
     42The <count> argument is the number of blocks to move.
     43
     44=== 3) '''void dev_ioc_write'''( char * buffer , uint32_t  lba , uint32_t  count) ===
     45
     46This blocking function try to tranfer one or several contiguous blocks of data from a memory buffer to the block device. The calling thread is actually registered in the device pending request queue, and descheduled, waiting on transfer completion. It is re-activared by the IRQ signaling completion. It must be called in the client cluster.
     47The <buffer> argument is...
     48The <lba> argument is the first block index in block device.
     49The <count> argument is the number of blocks to move.