Utils_file
Overview
Performs operations on a file.
This module allows you to performs file operations such as to open, close, read, and write a file, and to obtain the file size. The filing system varies according to the hardware platform. The following limitations are imposed on a platform that uses the Serial Peripheral Interface Flash Filing System (SPIFFS):
Since:
1.0
Version:
1.0
Summary
Files
| File Name | Description |
|---|---|
| utils_file.h | Performs operations on a file, including to open, close, write, read, and delete a file. |
Macros
| Macro Name and Value | Description |
|---|---|
| SEEK_SET_FS 0 | Defines the offset position used by UtilsFileSeek in a file to start offsetting from the file header. |
| SEEK_CUR_FS 1 | Defines the offset position used by UtilsFileSeek in a file to start offsetting from the current read and write position. |
| SEEK_END_FS 2 | Defines the offset position used by UtilsFileSeek in a file to start offsetting from the end of the file. |
| O_RDONLY_FS 00 | Defines a flag used byUtilsFileOpen to open a file in read-only mode. |
| O_WRONLY_FS 01 | Defines a flag used by UtilsFileOpen to open a file in write-only mode. |
| O_RDWR_FS 02 | Defines a flag used by UtilsFileOpen to open a file in read-and-write mode. |
| O_CREAT_FS 0100 | Defines a flag used by UtilsFileOpen to create a file when the file to open does not exist. |
| O_EXCL_FS 0200 | Defines a flag used by UtilsFileOpen to check whether the file to open exists when O_CREAT_FS is already set. |
| O_TRUNC_FS 01000 | Defines a flag used by UtilsFileOpen to clear the file content if the file exists and can be opened in write mode. |
| O_APPEND_FS 02000 | Defines a flag used by UtilsFileOpen to start reading or writing from the end of a file. |
Functions
| Function Name | Description |
|---|---|
| UtilsFileOpen (const char path, int oflag, int mode) | int Opens or creates a file. |
| UtilsFileClose (int fd) | int Closes a file with the specified file descriptor. |
| UtilsFileRead (int fd, char buf, unsigned int len) | int Reads a specified length of data from a file with the specified file descriptor and writes the data into the buffer. |
| UtilsFileWrite (int fd, const char buf, unsigned int len) | int Writes a specified length of data into a file with the specified file descriptor. |
| UtilsFileDelete (const char path) | int Deletes a specified file. |
| UtilsFileStat (const char path, unsigned int fileSize) | int Obtains the file size. |
| UtilsFileSeek (int fd, int offset, unsigned int whence) | int Adjusts the read and write position offset in a file. |
| UtilsFileCopy (const char src, const char dest) | int Copies the source file to a target file. |
| UtilsFileMove (const char src, const char dest) | int Moves the source file into a target file. |
Details
Macro Definition Documentation
O_EXCL_FS
1. #define O_EXCL_FS 0200
Description:
Defines a flag used by UtilsFileOpen to check whether the file to open exists when O_CREAT_FS is already set.
If the file does not exist, a new file will be created. If the file exists, the file cannot be opened.
Function Documentation
UtilsFileClose()
1. int UtilsFileClose (int fd)
Description:
Closes a file with the specified file descriptor.
Parameters:
| Name | Description |
|---|---|
| fd | Indicates the file descriptor of the file to close. |
Returns:
Returns 0 if the file is closed; returns -1 otherwise.
UtilsFileCopy()
1. int UtilsFileCopy (const char * src, const char * dest )
Description:
Copies the source file to a target file.
Parameters:
| Name | Description |
|---|---|
| src | Indicates the source file to copy. |
| dest | Indicates the target file. |
Attention:
If the number of opened files reaches the upper limit (32), close any two files first. Otherwise, the file cannot be copied.
Returns:
Returns 0 if the operation is successful; returns -1 otherwise.
UtilsFileDelete()
1. int UtilsFileDelete (const char * path)
Description:
Deletes a specified file.
Parameters:
| Name | Description |
|---|---|
| path | Indicates the file to delete. |
Attention:
If the number of opened files reaches the upper limit (32), close any of them first. Otherwise, the file cannot be deleted.
Returns:
Returns 0 if the file is deleted; returns -1 otherwise.
UtilsFileMove()
1. int UtilsFileMove (const char * src, const char * dest )
Description:
Moves the source file into a target file.
Parameters:
| Name | Description |
|---|---|
| src | Indicates the source file. |
| dest | Indicates the target file. |
Attention:
If the number of opened files reaches the upper limit (32), close any two files first. Otherwise, the file cannot be moved.
Returns:
Returns 0 if the operation is successful; returns -1 otherwise.
UtilsFileOpen()
1. int UtilsFileOpen (const char * path, int oflag, int mode )
Description:
Opens or creates a file.
Parameters:
| Name | Description |
|---|---|
| path | Indicates the file to open or create. |
| oflag | Indicates the mode of opening a file. The following modes are supported. These modes can be used together, with each of them identified by “or”. |
| mode | Used for function compatibility. This parameter does not take effect in any scenario. |
| oflag | Description |
|---|---|
| O_RDONLY_FS | For details, see O_RDONLY_FS. |
| O_WRONLY_FS | For details, see O_WRONLY_FS. |
| O_RDWR_FS | For details, see O_RDWR_FS. |
| O_CREAT_FS | For details, see O_CREAT_FS. |
| O_EXCL_FS | For details, see O_EXCL_FS. |
| O_TRUNC_FS | For details, see O_TRUNC_FS. |
| O_APPEND_FS | For details, see O_APPEND_FS. |
Returns:
Returns the file descriptor if the file is opened or created; returns -1 otherwise.
UtilsFileRead()
1. int UtilsFileRead (int fd, char * buf, unsigned int len )
Description:
Reads a specified length of data from a file with the specified file descriptor and writes the data into the buffer.
Parameters:
| Name | Description |
|---|---|
| fd | Indicates the file descriptor of the file to read. |
| buf | Indicates the buffer that stores the read data. This is an output parameter. |
| len | Indicates the length of the data to read. |
Returns:
Returns the number of bytes of the data if the data is read; returns -1 otherwise.
UtilsFileSeek()
1. int UtilsFileSeek (int fd, int offset, unsigned int whence )
Description:
Adjusts the read and write position offset in a file.
Parameters:
| Name | Description |
|---|---|
| fd | Indicates the file descriptor of the file where the read and write position offset needs adjustment. |
| offset | Indicates the offset of the read and write position based on the whence parameter. The value can be negative if the value of whence is SEEK_CUR_FS or SEEK_END_FS. |
| whence | Indicates the start position of the offset. The following start positions are supported. |
| whence | Description |
|---|---|
| SEEK_SET_FS | Adjusts the read and write position to the file header. |
| ^ | Then adds the offset after the read and write position. |
| SEEK_CUR_FS | Adds the offset after the current read and write position. |
| SEEK_END_FS | Adjusts the read and write position to the end of the file. |
| ^ | Then adds the offset after the read and write position. |
Returns:
Returns the current read and write position if the operation is successful; returns -1 otherwise.
UtilsFileStat()
1. int UtilsFileStat (const char * path, unsigned int * fileSize )
Description:
Obtains the file size.
Parameters:
| Name | Description |
|---|---|
| path | Indicates the file name. |
| fileSize | Indicates the file size. This is an output parameter. |
Returns:
Returns 0 if the file size is obtained; returns -1 otherwise.
UtilsFileWrite()
1. int UtilsFileWrite (int fd, const char * buf, unsigned int len )
Description:
Writes a specified length of data into a file with the specified file descriptor.
Parameters:
| Name | Description |
|---|---|
| fd | Indicates the file descriptor of the file where to write the data. |
| buf | Indicates the data to write. |
| len | Indicates the length of the data to write. |
Returns:
Returns the number of bytes of the data if the data is written; returns -1 otherwise.
