class axl::io::psx::Serial

#include <axl_io_psx_Serial.h>

class Serial: public axl::io::psx::File
{
public:
    // methods

    bool
    open(
        const sl::StringRef& name,
        uint_t openFlags = O_RDWR|O_NOCTTY
        );

    bool
    getAttr(termios* attr) const;

    bool
    setAttr(
        const termios* attr,
        int actions = TCSANOW
        );

    bool
    drain();

    bool
    flush(int queueSelector = TCIOFLUSH);

    bool
    flow(int action);

    uint_t
    getStatusLines() const;

    bool
    setDtr(bool isSet);

    bool
    setRts(bool isSet);

    bool
    setBreakCondition(bool isSet);

    bool
    sendBreak(uint_t duration = 0);

    bool
    wait(uint_t mask);
};

Inherited Members

public:
    // typedefs

    typedef T H;

    // methods

    operator T() const;

    T
    operator->() const;

    const Handle&
    operator=(T h);

    bool
    isOpen() const;

    void
    close();

    void
    attach(T h);

    T
    detach();

    T*
    p();

    static
    T
    getInvalidHandle();

    bool
    open(
        const sl::StringRef& fileName,
        uint_t openFlags = O_RDWR|O_CREAT,
        mode_t mode = S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH
        );

    bool
    duplicate(int fd);

    bool
    setBlockingMode(bool isBlocking);

    uint64_t
    getSize() const;

    bool
    setSize(uint64_t size);

    uint64_t
    getPosition() const;

    bool
    setPosition(uint64_t offset) const;

    size_t
    getIncomingDataSize();

    bool
    flush();

    int
    ioctl(uint_t code);

    template <typename T>
    int
    ioctl(
        uint_t code,
        T param
        );

    int
    fcntl(uint_t code);

    template <typename T>
    int
    fcntl(
        uint_t code,
        T param
        );

    size_t
    read(
        void* p,
        size_t size
        ) const;

    size_t
    write(
        const void* p,
        size_t size
        );