PX4 Firmware
PX4 Autopilot Software http://px4.io
cdev::VFile Class Reference

#include <vfile.h>

Inheritance diagram for cdev::VFile:
Collaboration diagram for cdev::VFile:

Public Member Functions

 ~VFile ()=default
 
ssize_t write (file_t *handlep, const char *buffer, size_t buflen) override
 Perform a write to the device. More...
 
- Public Member Functions inherited from cdev::CDev
 CDev (const char *devname)
 Constructor. More...
 
 CDev (const CDev &)=delete
 
CDevoperator= (const CDev &)=delete
 
 CDev (CDev &&)=delete
 
CDevoperator= (CDev &&)=delete
 
virtual ~CDev ()
 
virtual int init ()
 
virtual int open (file_t *filep)
 Handle an open of the device. More...
 
virtual int close (file_t *filep)
 Handle a close of the device. More...
 
virtual ssize_t read (file_t *filep, char *buffer, size_t buflen)
 Perform a read from the device. More...
 
virtual off_t seek (file_t *filep, off_t offset, int whence)
 Perform a logical seek operation on the device. More...
 
virtual int ioctl (file_t *filep, int cmd, unsigned long arg)
 Perform an ioctl operation on the device. More...
 
virtual int poll (file_t *filep, px4_pollfd_struct_t *fds, bool setup)
 Perform a poll setup/teardown operation. More...
 
const char * get_devname () const
 Get the device name. More...
 

Static Public Member Functions

static VFilecreateFile (const char *fname, mode_t mode)
 

Private Member Functions

 VFile (const char *fname, mode_t mode)
 
 VFile (const VFile &)
 

Additional Inherited Members

- Protected Member Functions inherited from cdev::CDev
virtual pollevent_t poll_state (file_t *filep)
 Check the current state of the device for poll events from the perspective of the file. More...
 
virtual void poll_notify (pollevent_t events)
 Report new poll events. More...
 
virtual void poll_notify_one (px4_pollfd_struct_t *fds, pollevent_t events)
 Internal implementation of poll_notify. More...
 
virtual int open_first (file_t *filep)
 Notification of the first open. More...
 
virtual int close_last (file_t *filep)
 Notification of the last close. More...
 
virtual int register_class_devname (const char *class_devname)
 Register a class device name, automatically adding device class instance suffix if need be. More...
 
virtual int unregister_class_devname (const char *class_devname, unsigned class_instance)
 Register a class device name, automatically adding device class instance suffix if need be. More...
 
void lock ()
 Take the driver lock. More...
 
void unlock ()
 Release the driver lock. More...
 
int unregister_driver_and_memory ()
 First, unregisters the driver. More...
 
- Protected Attributes inherited from cdev::CDev
px4_sem_t _lock
 lock to protect access to all class members (also for derived classes) More...
 
- Static Protected Attributes inherited from cdev::CDev
static const px4_file_operations_t fops = {}
 Pointer to the default cdev file operations table; useful for registering clone devices etc. More...
 

Detailed Description

Definition at line 48 of file vfile.h.

Constructor & Destructor Documentation

◆ ~VFile()

cdev::VFile::~VFile ( )
default

◆ VFile() [1/2]

cdev::VFile::VFile ( const char *  fname,
mode_t  mode 
)
private

Definition at line 46 of file vfile.cpp.

Referenced by createFile().

Here is the caller graph for this function:

◆ VFile() [2/2]

cdev::VFile::VFile ( const VFile )
private

Member Function Documentation

◆ createFile()

VFile * cdev::VFile::createFile ( const char *  fname,
mode_t  mode 
)
static

Definition at line 51 of file vfile.cpp.

References register_driver(), and VFile().

Referenced by px4_open().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ write()

ssize_t cdev::VFile::write ( file_t filep,
const char *  buffer,
size_t  buflen 
)
overridevirtual

Perform a write to the device.

The default implementation returns -ENOSYS.

Parameters
filepPointer to the NuttX file structure.
bufferPointer to the buffer from which data should be read.
buflenThe number of bytes to be written.
Returns
The number of bytes written or -errno otherwise.

Reimplemented from cdev::CDev.

Definition at line 59 of file vfile.cpp.

References cdev::CDev::poll_notify().

Here is the call graph for this function:

The documentation for this class was generated from the following files: