Changes between Version 3 and Version 4 of ioc_device_api
- Timestamp:
- Nov 7, 2016, 12:36:11 PM (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ioc_device_api
v3 v4 27 27 == B) Access functions == 28 28 29 === 1) '''void dev_ioc_init'''( xptr_t xp_dev ) ===29 === 1) '''void dev_ioc_init'''( xptr_t xp_dev ) === 30 30 31 31 This function makes two initialisations: … … 35 35 The <xp_dev> argument is an extended pointer on the IOC device descriptor. 36 36 37 === 2) '''void dev_ioc_read'''( char * buffer , uint32_t lba , uint32_t count ) ===37 === 2) '''void dev_ioc_read'''( char * buffer , uint32_t lba , uint32_t count ) === 38 38 39 39 This 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. … … 42 42 The <count> argument is the number of blocks to move. 43 43 44 === 3) '''void dev_ioc_write'''( char * buffer , uint32_t lba , uint32_t count ) ===44 === 3) '''void dev_ioc_write'''( char * buffer , uint32_t lba , uint32_t count ) === 45 45 46 46 This 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.