[FreeRTOS+FAT Standard API Reference]
int ff_errno( void );
File related functions in the standard C library often return 0 for pass, and -1 for fail. If -1 is returned then the reason for the failure is stored in a variable called errno, which must be inspected separately.
FreeRTOS+FAT’s standard stdio style interface maintains an errno variable for each RTOS task. ff_errno() returns the errno value for the calling task.
The file system’s C library style API uses the same errno values
as used by the stanard C library. These
are documented on a separate page.
- The file system’s native API has a more sophisticated error code system, and returns error codes directly from its API functions.
void vAFunction( FF_FILE *pxFile, long lOffset, int iWhence )
/* Attempt to seek a file using the parameters passed into this function. */
iReturned = ff_fseek( pxFile, lOffset, iWhence );
if( iReturned == 0 )
/* The call to ff_fseek() passed. */
/* The call to ff_fseek() failed. Obtain the errno to see why. */
iReturned = ff_errno();
if( iReturned == pdFREERTOS_ERRNO_ESPIPE )
/* The seep position was illegal – outside of the file’s space. */
else if( iReturned == pdFREERTOS_ERRNO_EINVAL )
/* The value of iWhence was not legal. */
Example use of the ff_errno() API function