#include <block-device.h>
Public Types | |
using | blknum_t = std::size_t |
using | value_type = T |
Types & Constants | |
enum class | type : type_t { unknown = 0 , not_set = 1 << 0 , char_device = 1 << 1 , block_device = 1 << 2 , tty = 1 << 3 , file = 1 << 4 , socket = 1 << 5 } |
using | type_t = unsigned int |
Public Member Functions | |
Constructors & Destructor | |
template<typename ... Args> | |
block_device_implementable (const char *name, Args &&... args) | |
virtual | ~block_device_implementable () override |
Public Member Functions | |
value_type & | impl (void) const |
Public Member Functions | |
virtual int | vioctl (int request, std::va_list args) override |
virtual ssize_t | read_block (void *buf, blknum_t blknum, std::size_t nblocks=1) |
virtual ssize_t | write_block (const void *buf, blknum_t blknum, std::size_t nblocks=1) |
blknum_t | blocks (void) |
std::size_t | block_logical_size_bytes (void) |
std::size_t | block_physical_size_bytes (void) |
Public Member Functions | |
virtual ssize_t | read (void *buf, std::size_t nbyte) |
virtual ssize_t | write (const void *buf, std::size_t nbyte) |
virtual ssize_t | writev (const iovec *iov, int iovcnt) |
int | fcntl (int cmd,...) |
virtual int | vfcntl (int cmd, std::va_list args) |
int | isatty (void) |
virtual int | fstat (struct stat *buf) |
virtual off_t | lseek (off_t offset, int whence) |
type_t | get_type (void) const |
file_descriptor_t | file_descriptor (void) const |
bool | is_opened (void) |
Protected Member Functions | |
Private Member Functions | |
void | file_descriptor (file_descriptor_t fildes) |
void | clear_file_descriptor (void) |
io * | alloc_file_descriptor (void) |
Public Member Functions | |
int | open (const char *path=nullptr, int oflag=0,...) |
int | vopen (const char *path, int oflag, std::va_list args) |
virtual int | close (void) override |
int | ioctl (int request,...) |
virtual void | sync (void) |
virtual bool | match_name (const char *name) const |
const char * | name (void) const |
static const char * | device_prefix (void) |
Definition at line 263 of file block-device.h.
|
inherited |
Definition at line 67 of file block-device.h.
|
inherited |
using os::posix::block_device_implementable< T >::value_type = T |
Definition at line 269 of file block-device.h.
|
stronginherited |
os::posix::block_device_implementable< T >::block_device_implementable | ( | const char * | name, |
Args &&... | args | ||
) |
Definition at line 493 of file block-device.h.
|
overridevirtual |
Definition at line 512 of file block-device.h.
|
protectedinherited |
|
inlineinherited |
Definition at line 472 of file block-device.h.
|
inlineinherited |
Definition at line 478 of file block-device.h.
|
inlineinherited |
Definition at line 466 of file block-device.h.
|
inlineprotectedinherited |
|
overridevirtualinherited |
Reimplemented from os::posix::io.
Reimplemented in os::posix::block_device_lockable< T, L >.
Definition at line 114 of file device.cpp.
|
inlinestaticinherited |
|
inlineprotectedinherited |
|
inlineinherited |
|
virtualinherited |
Reimplemented in os::posix::file_lockable< T, L >.
|
inlineinherited |
block_device_implementable< T >::value_type & os::posix::block_device_implementable< T >::impl | ( | void | ) | const |
Definition at line 523 of file block-device.h.
|
inherited |
Definition at line 138 of file device.cpp.
|
virtualinherited |
Reimplemented in os::posix::block_device_lockable< T, L >, and os::posix::file_lockable< T, L >.
|
virtualinherited |
Definition at line 192 of file device.cpp.
|
inlineinherited |
|
inherited |
path | May be nullptr. |
oflag | Output flags |
Definition at line 64 of file device.cpp.
|
virtualinherited |
Reimplemented in os::posix::block_device_lockable< T, L >, and os::posix::file_lockable< T, L >.
|
virtualinherited |
Reimplemented in os::posix::block_device_partition_lockable< T, L >, and os::posix::block_device_lockable< T, L >.
Definition at line 62 of file block-device.cpp.
|
virtualinherited |
Reimplemented in os::posix::block_device_lockable< T, L >.
Definition at line 174 of file device.cpp.
|
virtualinherited |
Reimplemented in os::posix::block_device_lockable< T, L >, and os::posix::file_lockable< T, L >.
|
overridevirtualinherited |
Reimplemented from os::posix::device.
Reimplemented in os::posix::block_device_partition_lockable< T, L >, and os::posix::block_device_lockable< T, L >.
Definition at line 109 of file block-device.cpp.
|
inherited |
path | May be nullptr. |
oflag | Output flags |
args | Arguments |
Definition at line 76 of file device.cpp.
|
virtualinherited |
Reimplemented in os::posix::block_device_lockable< T, L >, and os::posix::file_lockable< T, L >.
|
virtualinherited |
Reimplemented in os::posix::block_device_partition_lockable< T, L >, and os::posix::block_device_lockable< T, L >.
Definition at line 85 of file block-device.cpp.
|
virtualinherited |
Reimplemented in os::posix::block_device_lockable< T, L >, and os::posix::file_lockable< T, L >.