#include <block-device.h>
Public Types | |
using | blknum_t = std::size_t |
using | lockable_type = L |
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_lockable (const char *name, lockable_type &locker, Args &&... args) | |
virtual | ~block_device_lockable () override |
Public Member Functions | |
virtual int | close (void) override |
virtual ssize_t | read (void *buf, std::size_t nbyte) override |
virtual ssize_t | write (const void *buf, std::size_t nbyte) override |
virtual ssize_t | writev (const iovec *iov, int iovcnt) override |
virtual int | vfcntl (int cmd, std::va_list args) override |
virtual int | vioctl (int request, std::va_list args) override |
virtual off_t | lseek (off_t offset, int whence) override |
virtual ssize_t | read_block (void *buf, blknum_t blknum, std::size_t nblocks=1) override |
virtual ssize_t | write_block (const void *buf, blknum_t blknum, std::size_t nblocks=1) override |
virtual void | sync (void) override |
value_type & | impl (void) const |
Public Member Functions | |
blknum_t | blocks (void) |
std::size_t | block_logical_size_bytes (void) |
std::size_t | block_physical_size_bytes (void) |
Public Member Functions | |
int | fcntl (int cmd,...) |
int | isatty (void) |
virtual int | fstat (struct stat *buf) |
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) |
int | ioctl (int request,...) |
virtual bool | match_name (const char *name) const |
const char * | name (void) const |
static const char * | device_prefix (void) |
Definition at line 342 of file block-device.h.
|
inherited |
Definition at line 67 of file block-device.h.
using os::posix::block_device_lockable< T, L >::lockable_type = L |
Definition at line 349 of file block-device.h.
|
inherited |
using os::posix::block_device_lockable< T, L >::value_type = T |
Definition at line 348 of file block-device.h.
|
stronginherited |
os::posix::block_device_lockable< T, L >::block_device_lockable | ( | const char * | name, |
lockable_type & | locker, | ||
Args &&... | args | ||
) |
Definition at line 532 of file block-device.h.
|
overridevirtual |
Definition at line 547 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 |
|
overridevirtual |
Reimplemented from os::posix::device.
Definition at line 559 of file block-device.h.
|
inlinestaticinherited |
|
inlineprotectedinherited |
|
inlineinherited |
|
virtualinherited |
Reimplemented in os::posix::file_lockable< T, L >.
|
inlineinherited |
block_device_lockable< T, L >::value_type & os::posix::block_device_lockable< T, L >::impl | ( | void | ) | const |
Definition at line 710 of file block-device.h.
|
inherited |
Definition at line 138 of file device.cpp.
|
overridevirtual |
Reimplemented from os::posix::io.
Definition at line 648 of file block-device.h.
|
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.
|
overridevirtual |
Reimplemented from os::posix::io.
Definition at line 573 of file block-device.h.
|
overridevirtual |
Reimplemented from os::posix::block_device.
Definition at line 663 of file block-device.h.
|
overridevirtual |
Reimplemented from os::posix::device.
Definition at line 696 of file block-device.h.
|
overridevirtual |
Reimplemented from os::posix::io.
Definition at line 618 of file block-device.h.
|
overridevirtual |
Reimplemented from os::posix::block_device.
Definition at line 633 of file block-device.h.
|
inherited |
path | May be nullptr. |
oflag | Output flags |
args | Arguments |
Definition at line 76 of file device.cpp.
|
overridevirtual |
Reimplemented from os::posix::io.
Definition at line 588 of file block-device.h.
|
overridevirtual |
Reimplemented from os::posix::block_device.
Definition at line 679 of file block-device.h.
|
overridevirtual |
Reimplemented from os::posix::io.
Definition at line 603 of file block-device.h.