38#if !defined (_RTEMS_FLASHDISK_H_)
39#define _RTEMS_FLASHDISK_H_
150#define RTEMS_FLASHDISK_DEVICE_BASE_NAME "/dev/fdd"
152#define RTEMS_FDISK_IOCTL_ERASE_DISK _IO('B', 128)
153#define RTEMS_FDISK_IOCTL_COMPACT _IO('B', 129)
154#define RTEMS_FDISK_IOCTL_ERASE_USED _IO('B', 130)
155#define RTEMS_FDISK_IOCTL_MONITORING _IO('B', 131)
156#define RTEMS_FDISK_IOCTL_INFO_LEVEL _IO('B', 132)
157#define RTEMS_FDISK_IOCTL_PRINT_STATUS _IO('B', 133)
166 uint32_t block_count;
167 uint32_t unavail_blocks;
168 uint32_t device_count;
169 uint32_t segment_count;
171 uint32_t blocks_used;
172 uint32_t segs_available;
174 uint32_t segs_failed;
177 uint32_t pages_active;
204#define RTEMS_FDISK_KBYTES(_k) (UINT32_C(1024) * (_k))
433#define RTEMS_FDISK_BACKGROUND_ERASE (1 << 0)
438#define RTEMS_FDISK_BACKGROUND_COMPACT (1 << 1)
445#define RTEMS_FDISK_CHECK_PAGES (1 << 2)
451#define RTEMS_FDISK_BLANK_CHECK_BEFORE_WRITE (1 << 3)
rtems_status_code rtems_device_driver
This type shall be used in device driver entry declarations and definitions.
Definition io.h:90
uint32_t rtems_device_major_number
This integer type represents the major number of devices.
Definition io.h:103
uint32_t rtems_device_minor_number
This integer type represents the minor number of devices.
Definition io.h:115
rtems_device_driver rtems_fdisk_initialize(rtems_device_major_number major, rtems_device_minor_number minor, void *arg)
const rtems_flashdisk_config rtems_flashdisk_configuration[]
External reference to the configuration. Please supply. Support is present in confdefs....
uint32_t rtems_flashdisk_configuration_size
External reference to the number of configurations. Please supply. Support is present in confdefs....
This header file defines the RTEMS Classic API.
Flash Device Descriptor holds the segments in a device.
Definition flashdisk.h:365
const rtems_fdisk_driver_handlers * flash_ops
Definition flashdisk.h:368
const rtems_fdisk_segment_desc * segments
Definition flashdisk.h:367
uint32_t segment_count
Definition flashdisk.h:366
Flash Low Level driver handlers.
Definition flashdisk.h:220
int(*) erase(const rtems_fdisk_segment_desc *sd, uint32_t device, uint32_t segment)
Definition flashdisk.h:332
int(*) blank(const rtems_fdisk_segment_desc *sd, uint32_t device, uint32_t segment, uint32_t offset, uint32_t size)
Definition flashdisk.h:288
int(*) write(const rtems_fdisk_segment_desc *sd, uint32_t device, uint32_t segment, uint32_t offset, const void *buffer, uint32_t size)
Definition flashdisk.h:264
int(*) verify(const rtems_fdisk_segment_desc *sd, uint32_t device, uint32_t segment, uint32_t offset, const void *buffer, uint32_t size)
Definition flashdisk.h:312
int(*) erase_device(const struct rtems_fdisk_device_desc *dd, uint32_t device)
Definition flashdisk.h:348
int(*) read(const rtems_fdisk_segment_desc *sd, uint32_t device, uint32_t segment, uint32_t offset, void *buffer, uint32_t size)
Definition flashdisk.h:239
Flash Disk Monitoring Data allows a user to obtain the current status of the disk.
Definition flashdisk.h:164
Flash Segment Descriptor holds, number of continuous segments in the device of this type,...
Definition flashdisk.h:194
uint32_t size
Definition flashdisk.h:198
uint16_t segment
Definition flashdisk.h:196
uint32_t offset
Definition flashdisk.h:197
uint16_t count
Definition flashdisk.h:195
RTEMS Flash Disk configuration table used to initialise the driver.
Definition flashdisk.h:401
uint32_t flags
Definition flashdisk.h:405
uint32_t avail_compact_segs
Definition flashdisk.h:422
uint32_t info_level
Definition flashdisk.h:423
uint32_t block_size
Definition flashdisk.h:402
const rtems_fdisk_device_desc * devices
Definition flashdisk.h:404
uint32_t compact_segs
Definition flashdisk.h:414
uint32_t device_count
Definition flashdisk.h:403
uint32_t unavail_blocks
Definition flashdisk.h:412