fs: improve API documentation

* Describe the fields of struct fs_dir_stream.
* Update fs_readdir() and fs_opendir() description.
* Fix Sphinx errors.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
Heinrich Schuchardt 2024-10-24 11:15:28 +02:00
parent 267097d014
commit aa636678f9

View file

@ -25,7 +25,7 @@ struct blk_desc;
* do_fat_fsload - Run the fatload command * do_fat_fsload - Run the fatload command
* *
* @cmdtp: Command information for fatload * @cmdtp: Command information for fatload
* @flag: Command flags (CMD_FLAG_...) * @flag: Command flags (CMD_FLAG\_...)
* @argc: Number of arguments * @argc: Number of arguments
* @argv: List of arguments * @argv: List of arguments
* Return: result (see enum command_ret_t) * Return: result (see enum command_ret_t)
@ -37,7 +37,7 @@ int do_fat_fsload(struct cmd_tbl *cmdtp, int flag, int argc,
* do_ext2load - Run the ext2load command * do_ext2load - Run the ext2load command
* *
* @cmdtp: Command information for ext2load * @cmdtp: Command information for ext2load
* @flag: Command flags (CMD_FLAG_...) * @flag: Command flags (CMD_FLAG\_...)
* @argc: Number of arguments * @argc: Number of arguments
* @argv: List of arguments * @argv: List of arguments
* Return: result (see enum command_ret_t) * Return: result (see enum command_ret_t)
@ -145,7 +145,7 @@ int fs_size(const char *filename, loff_t *size);
* @offset: offset in the file from where to start reading * @offset: offset in the file from where to start reading
* @len: the number of bytes to read. Use 0 to read entire file. * @len: the number of bytes to read. Use 0 to read entire file.
* @actread: returns the actual number of bytes read * @actread: returns the actual number of bytes read
* Return: 0 if OK with valid *actread, -1 on error conditions * Return: 0 if OK with valid @actread, -1 on error conditions
*/ */
int fs_read(const char *filename, ulong addr, loff_t offset, loff_t len, int fs_read(const char *filename, ulong addr, loff_t offset, loff_t len,
loff_t *actread); loff_t *actread);
@ -160,7 +160,7 @@ int fs_read(const char *filename, ulong addr, loff_t offset, loff_t len,
* @offset: offset in the file from where to start writing * @offset: offset in the file from where to start writing
* @len: the number of bytes to write * @len: the number of bytes to write
* @actwrite: returns the actual number of bytes written * @actwrite: returns the actual number of bytes written
* Return: 0 if OK with valid *actwrite, -1 on error conditions * Return: 0 if OK with valid @actwrite, -1 on error conditions
*/ */
int fs_write(const char *filename, ulong addr, loff_t offset, loff_t len, int fs_write(const char *filename, ulong addr, loff_t offset, loff_t len,
loff_t *actwrite); loff_t *actwrite);
@ -186,57 +186,73 @@ struct fs_dirent {
unsigned int type; unsigned int type;
/** @size: file size */ /** @size: file size */
loff_t size; loff_t size;
/** @flags: attribute flags (FS_ATTR_*) */ /** @attr: attribute flags (FS_ATTR_*) */
u32 attr; u32 attr;
/** create_time: time of creation */ /** @create_time: time of creation */
struct rtc_time create_time; struct rtc_time create_time;
/** access_time: time of last access */ /** @access_time: time of last access */
struct rtc_time access_time; struct rtc_time access_time;
/** change_time: time of last modification */ /** @change_time: time of last modification */
struct rtc_time change_time; struct rtc_time change_time;
/** name: file name */ /** @name: file name */
char name[FS_DIRENT_NAME_LEN]; char name[FS_DIRENT_NAME_LEN];
}; };
/* Note: fs_dir_stream should be treated as opaque to the user of fs layer */ /**
* struct fs_dir_stream - Structure representing an opened directory
*
* Struct fs_dir_stream should be treated opaque to the user of fs layer.
* The fields @desc and @part are used by the fs layer.
* File system drivers pass additional private fields with the pointers
* to this structure.
*
* @desc: block device descriptor
* @part: partition number
*/
struct fs_dir_stream { struct fs_dir_stream {
/* private to fs. layer: */
struct blk_desc *desc; struct blk_desc *desc;
int part; int part;
}; };
/* /**
* fs_opendir - Open a directory * fs_opendir - Open a directory
* *
* @filename: the path to directory to open * .. note::
* Return: a pointer to the directory stream or NULL on error and errno * The returned struct fs_dir_stream should be treated opaque to the
* set appropriately * user of the fs layer.
*
* @filename: path to the directory to open
* Return:
* A pointer to the directory stream or NULL on error and errno set
* appropriately
*/ */
struct fs_dir_stream *fs_opendir(const char *filename); struct fs_dir_stream *fs_opendir(const char *filename);
/* /**
* fs_readdir - Read the next directory entry in the directory stream. * fs_readdir - Read the next directory entry in the directory stream.
* *
* Works in an analogous way to posix readdir(). The previously returned * fs_readir works in an analogous way to posix readdir().
* directory entry is no longer valid after calling fs_readdir() again. * The previously returned directory entry is no longer valid after calling
* fs_readdir() again.
* After fs_closedir() is called, the returned directory entry is no * After fs_closedir() is called, the returned directory entry is no
* longer valid. * longer valid.
* *
* @dirs: the directory stream * @dirs: the directory stream
* Return: the next directory entry (only valid until next fs_readdir() or * Return:
* the next directory entry (only valid until next fs_readdir() or
* fs_closedir() call, do not attempt to free()) or NULL if the end of * fs_closedir() call, do not attempt to free()) or NULL if the end of
* the directory is reached. * the directory is reached.
*/ */
struct fs_dirent *fs_readdir(struct fs_dir_stream *dirs); struct fs_dirent *fs_readdir(struct fs_dir_stream *dirs);
/* /**
* fs_closedir - close a directory stream * fs_closedir - close a directory stream
* *
* @dirs: the directory stream * @dirs: the directory stream
*/ */
void fs_closedir(struct fs_dir_stream *dirs); void fs_closedir(struct fs_dir_stream *dirs);
/* /**
* fs_unlink - delete a file or directory * fs_unlink - delete a file or directory
* *
* If a given name is a directory, it will be deleted only if it's empty * If a given name is a directory, it will be deleted only if it's empty
@ -246,7 +262,7 @@ void fs_closedir(struct fs_dir_stream *dirs);
*/ */
int fs_unlink(const char *filename); int fs_unlink(const char *filename);
/* /**
* fs_mkdir - Create a directory * fs_mkdir - Create a directory
* *
* @filename: Name of directory to create * @filename: Name of directory to create
@ -292,7 +308,7 @@ int do_fs_type(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]);
* do_fs_types - List supported filesystems. * do_fs_types - List supported filesystems.
* *
* @cmdtp: Command information for fstypes * @cmdtp: Command information for fstypes
* @flag: Command flags (CMD_FLAG_...) * @flag: Command flags (CMD_FLAG\_...)
* @argc: Number of arguments * @argc: Number of arguments
* @argv: List of arguments * @argv: List of arguments
* Return: result (see enum command_ret_t) * Return: result (see enum command_ret_t)