![]() |
RTEMS 6.1
|
Files | |
| file | sparse-disk.h |
| Sparse disk block device API. | |
| file | sparse-disk.c |
| Sparse disk block device implementation. | |
Data Structures | |
| struct | rtems_sparse_disk_key |
| struct | rtems_sparse_disk |
Typedefs | |
| typedef struct rtems_sparse_disk | rtems_sparse_disk |
| typedef void(* | rtems_sparse_disk_delete_handler) (rtems_sparse_disk *sparse_disk) |
Functions | |
| rtems_status_code | rtems_sparse_disk_create_and_register (const char *device_file_name, uint32_t media_block_size, rtems_blkdev_bnum blocks_with_buffer, rtems_blkdev_bnum media_block_count, uint8_t fill_pattern) |
| Creates and registers a sparse disk. | |
| void | rtems_sparse_disk_free (rtems_sparse_disk *sparse_disk) |
| Frees a sparse disk. | |
| rtems_status_code | rtems_sparse_disk_register (const char *device_file_name, rtems_sparse_disk *sparse_disk, uint32_t media_block_size, rtems_blkdev_bnum blocks_with_buffer, rtems_blkdev_bnum media_block_count, uint8_t fill_pattern, rtems_sparse_disk_delete_handler sparse_disk_delete) |
| Initializes and registers a sparse disk. | |
| rtems_status_code rtems_sparse_disk_create_and_register | ( | const char * | device_file_name, |
| uint32_t | media_block_size, | ||
| rtems_blkdev_bnum | blocks_with_buffer, | ||
| rtems_blkdev_bnum | media_block_count, | ||
| uint8_t | fill_pattern | ||
| ) |
Creates and registers a sparse disk.
| [in] | device_file_name | The device file name path. |
| [in] | media_block_size | The media block size in bytes. |
| [in] | blocks_with_buffer | Blocks of the device with a buffer. Other blocks can store only fill pattern value bytes. |
| [in] | block_count | The media block count of the device. It is the sum of blocks with buffer and blocks that contain only fill pattern value bytes. |
| [in] | fill_pattern | The fill pattern specifies the byte value of blocks without a buffer. It is also the initial value for blocks with a buffer. |
| RTEMS_SUCCESSFUL | Successful operation. |
| RTEMS_INVALID_NUMBER | Media block size or media block count is not positive. The blocks with buffer count is greater than the media block count. |
| RTEMS_NO_MEMORY | Not enough memory. |
| RTEMS_TOO_MANY | Cannot create semaphore. |
| RTEMS_UNSATISFIED | Cannot create generic device node. |
| void rtems_sparse_disk_free | ( | rtems_sparse_disk * | sparse_disk | ) |
Frees a sparse disk.
Calls free() on the sparse disk pointer.
| rtems_status_code rtems_sparse_disk_register | ( | const char * | device_file_name, |
| rtems_sparse_disk * | sparse_disk, | ||
| uint32_t | media_block_size, | ||
| rtems_blkdev_bnum | blocks_with_buffer, | ||
| rtems_blkdev_bnum | media_block_count, | ||
| uint8_t | fill_pattern, | ||
| rtems_sparse_disk_delete_handler | sparse_disk_delete | ||
| ) |
Initializes and registers a sparse disk.
This will create one semaphore for mutual exclusion.
| [in] | device_file_name | The device file name path. |
| [in,out] | sparse_disk | The sparse disk. |
| [in] | media_block_size | The media block size in bytes. |
| [in] | blocks_with_buffer | Blocks of the device with a buffer. Other blocks can store only fill pattern value bytes. |
| [in] | block_count | The media block count of the device. It is the sum of blocks with buffer and blocks that contain only fill pattern value bytes. |
| [in] | fill_pattern | The fill pattern specifies the byte value of blocks without a buffer. It is also the initial value for blocks with a buffer. |
| [in] | sparse_disk_delete | The sparse disk delete handler. |
| RTEMS_SUCCESSFUL | Successful operation. |
| RTEMS_INVALID_NUMBER | Media block size or media block count is not positive. The blocks with buffer count is greater than the media block count. |
| RTEMS_INVALID_ADDRESS | Invalid sparse disk address. |
| RTEMS_TOO_MANY | Cannot create semaphore. |
| RTEMS_UNSATISFIED | Cannot create generic device node. |