Quality RTOS & Embedded Software



[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.

Example usage:

void vAFunction( FF_FILE *pxFile, long lOffset, int iWhence )
int iReturned;

/* 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

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.