The official mbed C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

Embed: (wiki syntax)

« Back to documentation index

FileHandle Class Reference

Class FileHandle. More...

#include <FileHandle.h>

Inherits NonCopyable< FileHandle >.

Inherited by FileLike, LocalFileHandle, SerialWireOutput, and UARTSerial.

Public Member Functions

virtual ssize_t read (void *buffer, size_t size)=0
 Read the contents of a file into a buffer.
virtual ssize_t write (const void *buffer, size_t size)=0
 Write the contents of a buffer to a file.
virtual off_t seek (off_t offset, int whence=SEEK_SET)=0
 Move the file position to a given offset from from a given location.
virtual int close ()=0
 Close a file.
virtual int sync ()
 Flush any buffers associated with the file.
virtual int isatty ()
 Check if the file in an interactive terminal device.
virtual off_t tell ()
 Get the file position of the file.
virtual void rewind ()
 Rewind the file position to the beginning of the file.
virtual off_t size ()
 Get the size of the file.
 MBED_DEPRECATED_SINCE ("mbed-os-5.4","Replaced by FileHandle::seek") virtual off_t lseek(off_t offset
 Move the file position to a given offset from a given location.

Private Member Functions

 MBED_DEPRECATED ("Invalid copy construction of a NonCopyable resource.") NonCopyable(const NonCopyable &)
 NonCopyable copy constructor.
 MBED_DEPRECATED ("Invalid copy assignment of a NonCopyable resource.") NonCopyable &operator
 NonCopyable copy assignment operator.

Detailed Description

Class FileHandle.

An abstract interface that represents operations on a file-like object. The core functions are read, write and seek, but only a subset of these operations can be provided.

Note:
to create a file,
See also:
File
Note:
Synchronization level: Set by subclass

Definition at line 45 of file FileHandle.h.


Member Function Documentation

virtual int close (  ) [pure virtual]

Close a file.

Returns:
0 on success, negative error code on failure

Implemented in UARTSerial, and Stream.

virtual int isatty (  ) [virtual]

Check if the file in an interactive terminal device.

Returns:
True if the file is a terminal
False if the file is not a terminal
Negative error code on failure

Reimplemented in UARTSerial, and Stream.

Definition at line 109 of file FileHandle.h.

MBED_DEPRECATED_SINCE ( "mbed-os-5.4"  ,
"Replaced by FileHandle::seek"   
)

Move the file position to a given offset from a given location.

Parameters:
offsetThe offset from whence to move to
whenceSEEK_SET for the start of the file, SEEK_CUR for the current file position, or SEEK_END for the end of the file.
Returns:
new file position on success, -1 on failure or unsupported
virtual ssize_t read ( void *  buffer,
size_t  size 
) [pure virtual]

Read the contents of a file into a buffer.

Devices acting as FileHandles should follow POSIX semantics:

* if no data is available, and nonblocking set, return -EAGAIN * if no data is available, and blocking set, wait until some data is available * If any data is available, call returns immediately

Parameters:
bufferThe buffer to read in to
sizeThe number of bytes to read
Returns:
The number of bytes read, 0 at end of file, negative error on failure

Implemented in UARTSerial, and Stream.

virtual void rewind (  ) [virtual]

Rewind the file position to the beginning of the file.

Note:
This is equivalent to seek(0, SEEK_SET)

Reimplemented in Stream.

Definition at line 129 of file FileHandle.h.

virtual off_t seek ( off_t  offset,
int  whence = SEEK_SET 
) [pure virtual]

Move the file position to a given offset from from a given location.

Parameters:
offsetThe offset from whence to move to
whenceThe start of where to seek SEEK_SET to start from beginning of file, SEEK_CUR to start from current position in file, SEEK_END to start from end of file
Returns:
The new offset of the file, negative error code on failure

Implemented in UARTSerial, and Stream.

virtual off_t size (  ) [virtual]

Get the size of the file.

Returns:
Size of the file in bytes

Reimplemented in Stream.

virtual int sync (  ) [virtual]

Flush any buffers associated with the file.

Returns:
0 on success, negative error code on failure

Reimplemented in UARTSerial, and Stream.

Definition at line 98 of file FileHandle.h.

virtual off_t tell (  ) [virtual]

Get the file position of the file.

Note:
This is equivalent to seek(0, SEEK_CUR)
Returns:
The current offset in the file, negative error code on failure

Reimplemented in Stream.

Definition at line 120 of file FileHandle.h.

virtual ssize_t write ( const void *  buffer,
size_t  size 
) [pure virtual]

Write the contents of a buffer to a file.

Devices acting as FileHandles should follow POSIX semantics:

* if blocking, block until all data is written * if no data can be written, and nonblocking set, return -EAGAIN * if some data can be written, and nonblocking set, write partial

Parameters:
bufferThe buffer to write from
sizeThe number of bytes to write
Returns:
The number of bytes written, negative error on failure

Implemented in UARTSerial, and Stream.