[ ]
Real time embedded FreeRTOS mailing list 
Homepage FreeRTOS Labs FreeRTOS+TCP FreeRTOS+FAT FreeRTOS+POSIX Contact / Enquiries


FreeRTOS+FAT is still in the lab
FreeRTOS+FAT is already in use in commercial products and we encourage you to try it yourself. Be aware however that FreeRTOS+FAT was acquired by Real Time Engineers Ltd., and is still being documented and updated to ensure it meets our strict quality standards. Please use the forum for support, or contact us directly if you have a specific business interest.

ff_errno()

[FreeRTOS+FAT Standard API Reference]

ff_stdio.h
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.

Notes:

  • 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. */
    }
    else
    {
        /* 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



[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ FreeRTOS Labs Sitemap ]    [ Main FreeRTOS Sitemap ]    [ ]




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