1eccf55102
Included operations: - mount - unmount - mkfs - statvfs Signed-off-by: Franciszek Zdobylak <fzdobylak@antmicro.com>
46 lines
1.4 KiB
C
46 lines
1.4 KiB
C
/*
|
|
* Copyright (c) 2023 Antmicro <www.antmicro.com>
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef ZEPHYR_INCLUDE_FS_EXT2_H_
|
|
#define ZEPHYR_INCLUDE_FS_EXT2_H_
|
|
|
|
#include <stdint.h>
|
|
|
|
/** @brief Configuration used to format ext2 file system.
|
|
*
|
|
* If a field is set to 0 then default value is used.
|
|
* (In volume name the first cell of an array must be 0 to use default value.)
|
|
*
|
|
* @param block_size Requested size of block.
|
|
* @param fs_size Requested size of file system. If 0 then whole available memory is used.
|
|
* @param bytes_per_inode Requested memory for one inode. It is used to calculate number of inodes
|
|
* in created file system.
|
|
* @param uuid UUID for created file system. Used when set_uuid is true.
|
|
* @param volume_name Name for created file system.
|
|
* @param set_uuid If true then UUID from that structure is used in created file system.
|
|
* If false then UUID (ver4) is generated.
|
|
*/
|
|
struct ext2_cfg {
|
|
uint32_t block_size;
|
|
uint32_t fs_size; /* Number of blocks that we want to take. */
|
|
uint32_t bytes_per_inode;
|
|
uint8_t uuid[16];
|
|
uint8_t volume_name[17]; /* If first byte is 0 then name ext2" is given. */
|
|
bool set_uuid;
|
|
};
|
|
|
|
#define FS_EXT2_DECLARE_DEFAULT_CONFIG(name) \
|
|
static struct ext2_cfg name = { \
|
|
.block_size = 1024, \
|
|
.fs_size = 0x800000, \
|
|
.bytes_per_inode = 4096, \
|
|
.volume_name = {'e', 'x', 't', '2', '\0'}, \
|
|
.set_uuid = false, \
|
|
}
|
|
|
|
|
|
#endif /* ZEPHYR_INCLUDE_FS_EXT2_H_ */
|