|
Open Model Railroad Network (OpenMRN)
|
Common base class for all CC32xxDeviceFile access. More...
#include <CC32xxDeviceFile.hxx>
Public Member Functions | |
| CC32xxDeviceFile (const char *name, size_t max_size_on_create=3000) | |
| Constructor. | |
| ~CC32xxDeviceFile () | |
| Destructor. | |
Public Member Functions inherited from Device | |
| Device (const char *name) | |
| Constructor. | |
| virtual | ~Device () |
| Destructor. | |
Protected Member Functions | |
| ssize_t | write (unsigned int index, const void *buf, size_t len) override |
| Write to the CC32xxDeviceFile. | |
| ssize_t | read (unsigned int index, void *buf, size_t len) override |
| Read from the CC32xxDeviceFile. | |
Protected Member Functions inherited from DeviceFile | |
| DeviceFile (const char *name) | |
| Constructor. | |
| ~DeviceFile () | |
| Destructor. | |
| int | open (File *file, const char *path, int flags, int mode) OVERRIDE |
| Open a device. | |
Protected Member Functions inherited from Node | |
| Node (const char *name) | |
| Constructor. | |
| virtual | ~Node () |
| Destructor. | |
| int | open (File *, const char *, int, int) OVERRIDE |
| Open method. | |
| int | close (File *) OVERRIDE |
| Close method. | |
Protected Member Functions inherited from FileIO | |
| 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. | |
Private Member Functions | |
| int | open (File *file, const char *path, int flags, int mode) override |
| Open a device. | |
| int | fstat (File *file, struct stat *stat) override |
| Get the status information of a file or device. | |
| void | disable () OVERRIDE |
| function to disable device | |
| CC32xxDeviceFile () | |
| Default constructor. | |
| DISALLOW_COPY_AND_ASSIGN (CC32xxDeviceFile) | |
Private Attributes | |
| int32_t | handle |
| file handle | |
| uint32_t | size |
| size of file in bytes | |
| uint32_t | maxSize |
| max size of file in bytes | |
| int32_t | maxSizeOnCreate |
| max size of file upon creation | |
| bool | writeEnable |
| is the file open for write | |
Additional Inherited Members | |
Static Public Member Functions inherited from Device | |
| 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 Public Member Functions inherited from FileIO | |
| 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 Protected Member Functions inherited from 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 Protected Member Functions inherited from FileIO | |
| 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. | |
Protected Attributes inherited from Node | |
| OSMutex | lock_ |
| protects internal structures. | |
| mode_t | mode_ |
| File open mode, such as O_NONBLOCK. | |
| unsigned int | references_ |
| number of open references | |
Protected Attributes inherited from FileIO | |
| const char * | name |
| device name | |
Static Protected Attributes inherited from FileIO | |
| static const unsigned int | numOpenFiles = 20 |
| static File | files [] |
| File descriptor pool. | |
| static OSMutex | mutex |
| mutual exclusion for fileio | |
Common base class for all CC32xxDeviceFile access.
Definition at line 41 of file CC32xxDeviceFile.hxx.
|
inline |
Constructor.
| name | device file name |
| max_size_on_create | this is the maximum size of the file allocated when it is created |
Definition at line 49 of file CC32xxDeviceFile.hxx.
|
inline |
Destructor.
Definition at line 61 of file CC32xxDeviceFile.hxx.
|
privatevirtual |
Get the status information of a file or device.
| file | file reference for this device |
| stat | structure to fill status info into |
Reimplemented from Node.
Definition at line 218 of file CC32xxDeviceFile.cxx.
|
overrideprivatevirtual |
Open a device.
| file | new file reference to this device |
| path | file or device name |
| flags | open flags |
| mode | open mode |
Implements FileIO.
Definition at line 46 of file CC32xxDeviceFile.cxx.
|
overrideprotectedvirtual |
Read from the CC32xxDeviceFile.
| index | index within CC32xxDeviceFile address space to start read |
| buf | location to post read data |
| len | length in bytes of data to read |
Implements DeviceFile.
Definition at line 198 of file CC32xxDeviceFile.cxx.
|
overrideprotectedvirtual |
Write to the CC32xxDeviceFile.
NOTE!!! This is not necessarily atomic across byte boundaries in the case of power loss. The user should take this into account as it relates to data integrity of a whole block.
| index | index within CC32xxDeviceFile address space to start write |
| buf | data to write |
| len | length in bytes of data to write |
Implements DeviceFile.
Definition at line 176 of file CC32xxDeviceFile.cxx.
|
private |
file handle
Definition at line 106 of file CC32xxDeviceFile.hxx.
|
private |
max size of file in bytes
Definition at line 112 of file CC32xxDeviceFile.hxx.
|
private |
max size of file upon creation
Definition at line 115 of file CC32xxDeviceFile.hxx.
|
private |
size of file in bytes
Definition at line 109 of file CC32xxDeviceFile.hxx.
|
private |
is the file open for write
Definition at line 118 of file CC32xxDeviceFile.hxx.