Base class for implementing block devices and other file drivers which can be seeked and addressed by absolute byte offsets.
More...
|
| | DeviceFile (const char *name) |
| | Constructor.
|
| |
| | ~DeviceFile () |
| | Destructor.
|
| |
| virtual ssize_t | write (unsigned int index, const void *buf, size_t len)=0 |
| | Write to the DeviceFile.
|
| |
| virtual ssize_t | read (unsigned int index, void *buf, size_t len)=0 |
| | Read from the DeviceFile.
|
| |
| int | open (File *file, const char *path, int flags, int mode) OVERRIDE |
| | Open a device.
|
| |
| | Node (const char *name) |
| | Constructor.
|
| |
| virtual | ~Node () |
| | Destructor.
|
| |
| int | open (File *, const char *, int, int) OVERRIDE |
| | Open method.
|
| |
| int | close (File *) OVERRIDE |
| | Close method.
|
| |
| virtual int | fstat (File *file, struct stat *stat) override |
| | Get the status information of a file or device.
|
| |
| | FileIO (const char *name) |
| | Constructor.
|
| |
| virtual | ~FileIO () |
| | Destructor.
|
| |
| virtual off_t | lseek (File *f, off_t offset, int whence) |
| | Seek method.
|
| |
| virtual int | ioctl (File *file, unsigned long int key, unsigned long data) |
| | Request an ioctl transaction.
|
| |
| virtual int | fcntl (File *file, int cmd, unsigned long data) |
| | Manipulate a file descriptor.
|
| |
| virtual bool | select (File *file, int mode) |
| | Device select method.
|
| |
|
| | Device (const char *name) |
| | Constructor.
|
| |
| virtual | ~Device () |
| | Destructor.
|
| |
| static int | open (struct _reent *reent, const char *path, int flags, int mode) |
| | Open a file or device.
|
| |
| static int | close (struct _reent *reent, int fd) |
| | Close a file or device.
|
| |
| static int | stat (struct _reent *reent, const char *path, struct stat *stat) |
| | Get the status information of a file or device.
|
| |
| static int | select (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, long long timeout) |
| | POSIX select().
|
| |
| static void | select_clear () |
| | Clears the current thread's select bits.
|
| |
| static ssize_t | read (struct _reent *reent, int fd, void *buf, size_t count) |
| | Read from a file or device.
|
| |
| static ssize_t | write (struct _reent *reent, int fd, const void *buf, size_t count) |
| | Write to a file or device.
|
| |
| static _off_t | lseek (struct _reent *reent, int fd, _off_t offset, int whence) |
| | Change the offset index of a file or device.
|
| |
| static int | fstat (struct _reent *reent, int fd, struct stat *stat) |
| | Get the status information of a file or device.
|
| |
| static int | ioctl (int fd, unsigned long int key, unsigned long data) |
| | Request and ioctl transaction.
|
| |
| static int | fcntl (int fd, int cmd, unsigned long data) |
| | Manipulate a file descriptor.
|
| |
| static bool | is_device (int fd) |
| | Test if the file descriptor belongs to a device.
|
| |
| static void | select_insert (SelectInfo *info) |
| | Add client to list of clients needing woken.
|
| |
| static void | select_wakeup (SelectInfo *info) |
| | Wakeup the list of clients needing woken.
|
| |
| static void | select_wakeup_from_isr (SelectInfo *info, int *woken) |
| | Wakeup the list of clients needing woken.
|
| |
| static int | fd_alloc (void) |
| | Allocate a free file descriptor.
|
| |
| static void | fd_free (int fd) |
| | Free up a file descriptor.
|
| |
| static File * | file_lookup (int fd) |
| | Looks up a reference to a File corresponding to a given file descriptor.
|
| |
| static int | fd_lookup (File *file) |
| | Looks up a file descriptor corresponding to a given File reference.
|
| |
| OSMutex | lock_ |
| | protects internal structures.
|
| |
| mode_t | mode_ |
| | File open mode, such as O_NONBLOCK.
|
| |
| unsigned int | references_ |
| | number of open references
|
| |
| const char * | name |
| | device name
|
| |
| static const unsigned int | numOpenFiles = 20 |
| |
| static File | files [] |
| | File descriptor pool.
|
| |
| static OSMutex | mutex |
| | mutual exclusion for fileio
|
| |
Base class for implementing block devices and other file drivers which can be seeked and addressed by absolute byte offsets.
Definition at line 47 of file DeviceFile.hxx.