RTEMS: cpukit/include/rtems/blkdev.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
blkdev.h File Reference
Device Drivers » Block Device Library » Block Device Management

Block Device Management. More...

`#include <rtems.h>`
`#include <rtems/diskdevs.h>`
`#include <rtems/print.h>`
`#include <sys/ioccom.h>`
`#include <stdio.h>`

Go to the source code of this file.

## Data Structures
struct | rtems_blkdev_sg_buffer
| Block device scatter or gather buffer structure. More...
struct | rtems_blkdev_request
| The block device transfer request is used to read or write a number of blocks from or to the device. More...

## Macros
#define | RTEMS_BLKDEV_START_BLOCK(req) (req->bufs[0].block)
| The start block in a request.
#define | RTEMS_GENERIC_BLOCK_DEVICE_DRIVER_ENTRIES
IO Control Request Codes
#define | RTEMS_BLKIO_REQUEST _IOWR('B', 1, rtems_blkdev_request)
#define | RTEMS_BLKIO_GETMEDIABLKSIZE _IOR('B', 2, uint32_t)
#define | RTEMS_BLKIO_GETBLKSIZE _IOR('B', 3, uint32_t)
#define | RTEMS_BLKIO_SETBLKSIZE _IOW('B', 4, uint32_t)
#define | RTEMS_BLKIO_GETSIZE _IOR('B', 5, rtems_blkdev_bnum)
#define | RTEMS_BLKIO_SYNCDEV _IO('B', 6)
#define | RTEMS_BLKIO_DELETED _IO('B', 7)
#define | RTEMS_BLKIO_CAPABILITIES _IO('B', 8)
#define | RTEMS_BLKIO_GETDISKDEV _IOR('B', 9, rtems_disk_device *)
#define | RTEMS_BLKIO_PURGEDEV _IO('B', 10)
#define | RTEMS_BLKIO_GETDEVSTATS _IOR('B', 11, rtems_blkdev_stats *)
#define | RTEMS_BLKIO_RESETDEVSTATS _IO('B', 12)
Block Device Driver Capabilities
#define | RTEMS_BLKDEV_CAP_MULTISECTOR_CONT (1 << 0)
| Only consecutive multi-sector buffer requests are supported.
#define | RTEMS_BLKDEV_CAP_SYNC (1 << 1)
| The driver will accept a sync call.

## Typedefs
typedef enum rtems_blkdev_request_op | rtems_blkdev_request_op
| Block device request type.
typedef void(* | rtems_blkdev_request_cb) (struct rtems_blkdev_request *req, rtems_status_code status)
| Block device request done callback function type.
typedef struct rtems_blkdev_sg_buffer | rtems_blkdev_sg_buffer
| Block device scatter or gather buffer structure.
typedef struct rtems_blkdev_request | rtems_blkdev_request
| The block device transfer request is used to read or write a number of blocks from or to the device.

## Enumerations
enum | rtems_blkdev_request_op { RTEMS_BLKDEV_REQ_READ , RTEMS_BLKDEV_REQ_WRITE , RTEMS_BLKDEV_REQ_SYNC }
| Block device request type. More...

## Functions
int | rtems_blkdev_ioctl (rtems_disk_device *dd, uint32_t req, void *argp)
| Common IO control primitive.
rtems_status_code | rtems_blkdev_create (const char *device, uint32_t media_block_size, rtems_blkdev_bnum media_block_count, rtems_block_device_ioctl handler, void *driver_data)
| Creates a block device.
rtems_status_code | rtems_blkdev_create_partition (const char *partition, const char *parent_block_device, rtems_blkdev_bnum media_block_begin, rtems_blkdev_bnum media_block_count)
| Creates a partition within a parent block device.
void | rtems_blkdev_print_stats (const rtems_blkdev_stats *stats, uint32_t media_block_size, uint32_t media_block_count, uint32_t block_size, const rtems_printer *printer)
| Prints the block device statistics.
void | rtems_blkstats (const rtems_printer *printer, const char *device, bool reset)
| Block device statistics command.
RTEMS_DEPRECATED rtems_device_driver | rtems_blkdev_generic_read (rtems_device_major_number major, rtems_device_minor_number minor, void *arg)
RTEMS_DEPRECATED rtems_device_driver | rtems_blkdev_generic_write (rtems_device_major_number major, rtems_device_minor_number minor, void *arg)
RTEMS_DEPRECATED rtems_device_driver | rtems_blkdev_generic_open (rtems_device_major_number major, rtems_device_minor_number minor, void *arg)
RTEMS_DEPRECATED rtems_device_driver | rtems_blkdev_generic_close (rtems_device_major_number major, rtems_device_minor_number minor, void *arg)
RTEMS_DEPRECATED rtems_device_driver | rtems_blkdev_generic_ioctl (rtems_device_major_number major, rtems_device_minor_number minor, void *arg)

## Variables
RTEMS_DEPRECATED const rtems_driver_address_table | rtems_blkdev_generic_ops

## Detailed Description

Block Device Management.