33#include <sys/ioccom.h>
192 unsigned char *buffer,
193 size_t size_of_buffer
211 const unsigned char *buffer,
212 size_t size_of_buffer
461 unsigned char *data_in,
462 unsigned char *cdata_out,
484 unsigned char *cdata_in,
485 unsigned char *data_out,
535 unsigned char *data_in,
536 unsigned char *cdata_out,
547 unsigned char *cdata_in,
548 unsigned char *data_out,
566 unsigned char *data_in,
567 unsigned char *cdata_out,
578 unsigned char *cdata_in,
579 unsigned char *data_out,
617 rtems_filesystem_mount_table_entry_t *mt_entry,
718#define RTEMS_JFFS2_GET_INFO _IOR('F', 1, rtems_jffs2_info)
727#define RTEMS_JFFS2_ON_DEMAND_GARBAGE_COLLECTION _IO('F', 2)
735#define RTEMS_JFFS2_FORCE_GARBAGE_COLLECTION _IO('F', 3)
740#define RTEMS_JFFS2_DELAYED_WRITE_TASK_PRIORITY_DEFAULT 15
int rtems_jffs2_compressor_rtime_decompress(rtems_jffs2_compressor_control *self, uint16_t comprtype, unsigned char *cdata_in, unsigned char *data_out, uint32_t cdatalen, uint32_t datalen)
RTIME compressor decompress operation.
Definition compr_rtime.c:83
uint16_t(*) rtems_jffs2_compressor_compress(rtems_jffs2_compressor_control *self, unsigned char *data_in, unsigned char *cdata_out, uint32_t *datalen, uint32_t *cdatalen)
Compress operation.
Definition jffs2.h:459
uint16_t rtems_jffs2_compressor_rtime_compress(rtems_jffs2_compressor_control *self, unsigned char *data_in, unsigned char *cdata_out, uint32_t *datalen, uint32_t *cdatalen)
RTIME compressor compress operation.
Definition compr_rtime.c:33
void(*) rtems_jffs2_trigger_garbage_collection(rtems_jffs2_flash_control *self)
Trigger garbage collection operation.
Definition jffs2.h:348
int(*) rtems_jffs2_flash_block_mark_bad(rtems_jffs2_flash_control *self, uint32_t offset)
Flash bad block mark operation.
Definition jffs2.h:263
int(*) rtems_jffs2_flash_oob_write(rtems_jffs2_flash_control *self, uint32_t offset, uint8_t *oobbuf, uint32_t obblen)
Flash oob write.
Definition jffs2.h:283
uint32_t(*) rtems_jffs2_flash_get_oob_size(rtems_jffs2_flash_control *self)
Flash get oob size.
Definition jffs2.h:321
uint16_t rtems_jffs2_compressor_zlib_compress(rtems_jffs2_compressor_control *self, unsigned char *data_in, unsigned char *cdata_out, uint32_t *datalen, uint32_t *cdatalen)
ZLIB compressor compress operation.
Definition compr_zlib.c:46
int(*) rtems_jffs2_flash_write(rtems_jffs2_flash_control *self, uint32_t offset, const unsigned char *buffer, size_t size_of_buffer)
Write to flash operation.
Definition jffs2.h:208
int(*) rtems_jffs2_compressor_decompress(rtems_jffs2_compressor_control *self, uint16_t comprtype, unsigned char *cdata_in, unsigned char *data_out, uint32_t cdatalen, uint32_t datalen)
Decompress operation.
Definition jffs2.h:481
int(*) rtems_jffs2_flash_block_is_bad(rtems_jffs2_flash_control *self, uint32_t offset, bool *bad)
Flash bad block check operation.
Definition jffs2.h:245
int(*) rtems_jffs2_flash_erase(rtems_jffs2_flash_control *self, uint32_t offset)
Flash erase operation.
Definition jffs2.h:227
const rtems_jffs2_config jffs2_config
int rtems_jffs2_initialize(rtems_filesystem_mount_table_entry_t *mt_entry, const void *data)
Initialization handler of the JFFS2 file system.
Definition fs-rtems.c:1363
int rtems_jffs2_compressor_zlib_decompress(rtems_jffs2_compressor_control *self, uint16_t comprtype, unsigned char *cdata_in, unsigned char *data_out, uint32_t cdatalen, uint32_t datalen)
ZLIB compressor decompress operation.
Definition compr_zlib.c:121
int(*) rtems_jffs2_flash_read(rtems_jffs2_flash_control *self, uint32_t offset, unsigned char *buffer, size_t size_of_buffer)
Read from flash operation.
Definition jffs2.h:189
void(*) rtems_jffs2_compressor_destroy(rtems_jffs2_compressor_control *self)
Compressor destroy operation.
Definition jffs2.h:499
int(*) rtems_jffs2_flash_oob_read(rtems_jffs2_flash_control *self, uint32_t offset, uint8_t *oobbuf, uint32_t obblen)
Flash oob read.
Definition jffs2.h:305
void(*) rtems_jffs2_flash_destroy(rtems_jffs2_flash_control *self)
Flash destroy operation.
Definition jffs2.h:334
uint32_t rtems_task_priority
This integer type represents task priorities of the Classic API.
Definition types.h:257
JFFS2 compressor control.
Definition jffs2.h:506
rtems_jffs2_compressor_compress compress
Compress operation.
Definition jffs2.h:510
rtems_jffs2_compressor_destroy destroy
Compressor destroy operation.
Definition jffs2.h:522
unsigned char buffer[PAGE_SIZE]
Compression buffer.
Definition jffs2.h:527
rtems_jffs2_compressor_decompress decompress
Decompress operation.
Definition jffs2.h:515
ZLIB compressor control structure.
Definition jffs2.h:556
rtems_task_priority delayed_write_priority
Definition jffs2.h:747
JFFS2 flash device control.
Definition jffs2.h:355
rtems_jffs2_flash_oob_write oob_write
Flash oob bytes write operation.
Definition jffs2.h:405
rtems_jffs2_trigger_garbage_collection trigger_garbage_collection
Trigger garbage collection operation.
Definition jffs2.h:439
uint32_t flash_size
The size in bytes of the flash device.
Definition jffs2.h:367
rtems_jffs2_flash_erase erase
Flash erase operation.
Definition jffs2.h:390
rtems_jffs2_flash_read read
Read from flash operation.
Definition jffs2.h:380
uint32_t write_size
The size in bytes of the minimum write size for the flash device.
Definition jffs2.h:375
rtems_jffs2_flash_block_mark_bad block_mark_bad
Flash bad block mark operation.
Definition jffs2.h:400
rtems_jffs2_flash_oob_read oob_read
Flash oob bytes read operation.
Definition jffs2.h:410
rtems_jffs2_flash_block_is_bad block_is_bad
Flash bad block check operation.
Definition jffs2.h:395
rtems_jffs2_flash_get_oob_size get_oob_size
Flash get oob bytes per page operation.
Definition jffs2.h:415
rtems_jffs2_flash_destroy destroy
Flash destroy operation.
Definition jffs2.h:422
rtems_jffs2_flash_write write
Write to flash operation.
Definition jffs2.h:385
uint32_t block_size
The size in bytes of the erasable unit of the flash device.
Definition jffs2.h:359
dev_t device_identifier
The device identifier of the flash device.
Definition jffs2.h:430
JFFS2 filesystem instance information.
Definition jffs2.h:626
uint32_t flash_block_size
Size of a flash block in bytes.
Definition jffs2.h:640
uint32_t flash_blocks
Count of flash blocks (erasable units).
Definition jffs2.h:635
uint32_t dirty_blocks
Count of dirty blocks.
Definition jffs2.h:689
uint32_t clean_blocks
Count of clean blocks.
Definition jffs2.h:682
uint32_t bad_blocks
Count of bad blocks.
Definition jffs2.h:710
uint32_t flash_size
Flash size in bytes.
Definition jffs2.h:630
uint32_t wasted_size
Wasted size in bytes.
Definition jffs2.h:661
uint32_t used_size
Used size in bytes.
Definition jffs2.h:647
uint32_t erasable_blocks
Count of erasable blocks.
Definition jffs2.h:696
uint32_t free_size
Free size in bytes.
Definition jffs2.h:668
uint32_t free_blocks
Count of free blocks.
Definition jffs2.h:703
uint32_t dirty_size
Dirty size in bytes.
Definition jffs2.h:654
uint32_t bad_size
Bad size in bytes.
Definition jffs2.h:675
JFFS2 mount options.
Definition jffs2.h:589
rtems_jffs2_compressor_control * compressor_control
Compressor control.
Definition jffs2.h:600
rtems_jffs2_flash_control * flash_control
Flash control.
Definition jffs2.h:593