Changes between Version 13 and Version 14 of ioc_device_api


Ignore:
Timestamp:
Jan 21, 2020, 9:04:43 PM (5 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ioc_device_api

    v13 v14  
    99The block size is supposed to be 512 bytes.
    1010
    11 It supports a first ''user'' API, used by the user-level system calls, implementing four operation types : the '''IOC_READ''', '''IOC_WRITE''', '''IOC_SYNC_READ''', and '''IOC_SYNC_WRITE''' operations move a given number of contiguous blocks between the block device and a kernel memory buffer. This API is detailed in section C below.
     11The ''user'' API contains the functions used by the user-level system calls, and defines four operation types : the '''IOC_READ''', '''IOC_WRITE''', '''IOC_SYNC_READ''', and '''IOC_SYNC_WRITE''' operations move a given number of contiguous blocks between the block device and a kernel memory buffer. This API is detailed in section C below.
    1212
    1313* The '''asynchronous''' READ and WRITE operations are not directly executed by the client thread. The READ and WRITE requests are registered in the waiting queue rooted in the IOC chdev descriptor. These requests are actually handled by a dedicated server thread running in the cluster containing the chdev descriptor, that call the ''ioc_driver_cmd()'' function.
     
    7070* void '''ioc_driver_isr'''( chdev_t * ioc_chdev )
    7171
    72 The ioc_driver_cmd()'' function arguments are actually defined in the ''ioc_command_t'' structure embedded in the client thread descriptor. One command contains four informations:
     72The ''ioc_driver_cmd()'' function arguments are actually defined in the ''ioc_command_t'' structure embedded in the client thread descriptor. One command contains four informations:
    7373 - '''type''' : operation type (defined below)
    7474 - '''count''' : number of contiguous blocks to be moved.