Base Framework
|
Linux (RAW) IEEE 1394 implementation. More...
#include <base/communication/LinuxRawIEEE1394.h>
Inherits IEEE1394Impl.
Public Member Functions | |
void | resetBus () |
LinuxRawIEEE1394 () | |
bool | hasBeenReset () const |
void | acknowledgeReset () |
Array< EUI64 > | getAdapters () |
void | open () |
void | open (const EUI64 &adapter) |
void | close () |
unsigned int | getLocalId () const |
unsigned int | getNumberOfNodes () const |
unsigned int | getStatus () const |
unsigned int | getFIFOSize () const |
void | read (unsigned short node, uint64 address, uint8 *buffer, unsigned int size) |
void | write (unsigned short node, uint64 address, const uint8 *buffer, unsigned int size) |
unsigned int | read (unsigned short node, uint64 address, uint32 *buffer, unsigned int size, uint32 value) |
uint32 | lock (unsigned short node, uint64 address, LockInstruction instruction, uint32 argument, uint32 data) |
IsochronousReadChannel | getReadChannel (unsigned int maxPacketsPerRequest, uint64 subchannels) |
IsochronousWriteChannel | getWriteChannel (unsigned int maxPacketsPerRequest, uint64 subchannels) |
~LinuxRawIEEE1394 () | |
bool | wait (unsigned int milliseconds) |
void | dequeueResponse () |
void | dequeue () |
void | registerFCPListener (FunctionControlProtocolListener *listener) |
void | unregisterFCPListener () |
void | readIsochronous (unsigned int channel, unsigned int maximumPayload, IsochronousChannelListener *listener) |
void | writeIsochronous (const uint8 *buffer, unsigned int size, unsigned int channel, unsigned int tag, unsigned int sy, Speed speed) |
![]() | |
virtual void | registerFCPListener (FunctionControlProtocolListener *listener)=0 |
virtual | ~IEEE1394Impl () |
![]() | |
ReferenceCountedObject () noexcept | |
ReferenceCountedObject (const ReferenceCountedObject ©) noexcept | |
ReferenceCountedObject (ReferenceCountedObject &&move) noexcept | |
ReferenceCountedObject & | operator= (const ReferenceCountedObject ©) noexcept |
ReferenceCountedObject & | operator= (ReferenceCountedObject &&move) noexcept |
MemorySize | getNumberOfReferences_INTERNAL () const noexcept |
virtual bool | useGarbageCollector () const noexcept |
![]() | |
DynamicObject () noexcept | |
bool | isValidObject () const noexcept |
virtual | ~DynamicObject () noexcept(false) |
_COM_AZURE_DEV__BASE__OVERRIDE_ALLOC () | |
Additional Inherited Members | |
![]() | |
enum | Standard { STANDARD_UNSPECIFIED, STANDARD_IEEE_1394, STANDARD_IEEE_1394A, STANDARD_IEEE_1394B } |
enum | IsochronousRequestType { NOT_A_REQUEST, READ_PACKETS_REQUEST, READ_FIXED_PACKETS_REQUEST, READ_FIXED_DATA_REQUEST, WRITE_PACKETS_REQUEST, WRITE_FIXED_PACKETS_REQUEST, WRITE_DATA_REQUEST } |
enum | IsochronousRequestStatus { READY, PENDING, ERROR, TIMEDOUT, COMPLETED } |
enum | Status { STATUS_OK, STATUS_INCOMPATIBLE, STATUS_INTERNAL, STATUS_CONFLICT, STATUS_BUSY, STATUS_ABORTED, STATUS_TIMEOUT, STATUS_ERROR } |
enum | Speed { S100, S200, S400, S800, S1600, S3200 } |
enum | AcknowledgeCode { ACK_RESERVED_0, ACK_COMPLETE, ACK_PENDING, ACK_RESERVED_3, ACK_BUSY_X, ACK_BUSY_A, ACK_BUSY_B, ACK_RESERVED_7, ACK_RESERVED_8, ACK_RESERVED_9, ACK_RESERVED_10, ACK_RESERVED_11, ACK_RESERVED_12, ACK_DATA_ERROR, ACK_TYPE_ERROR, ACK_RESERVED_15 } |
enum | ResponseCode { RCODE_COMPLETE, RCODE_RESERVED_1, RCODE_RESERVED_2, RCODE_RESERVED_3, RCODE_CONFLICT_ERROR, RCODE_DATA_ERROR, RCODE_TYPE_ERROR, RCODE_ADDRESS_ERROR, RCODE_RESERVED_8, RCODE_RESERVED_9, RCODE_RESERVED_10, RCODE_RESERVED_11, RCODE_RESERVED_12, RCODE_RESERVED_13, RCODE_RESERVED_14, RCODE_RESERVED_15 } |
enum | TransactionCode { TCODE_WRITE_REQUEST_FOR_DATA_QUADLET, TCODE_WRITE_REQUEST_FOR_DATA_BLOCK, TCODE_WRITE_RESPONSE, TCODE_RESERVED_3, TCODE_READ_REQUEST_FOR_DATA_QUADLET, TCODE_READ_REQUEST_FOR_DATA_BLOCK, TCODE_READ_RESPONSE_FOR_DATA_QUADLET, TOCDE_READ_RESPONSE_FOR_DATA_BLOCK, TCODE_CYCLE_START, TCODE_LOCK_REQUEST, TCODE_ISOCHRONOUS_DATA_BLOCK, TCODE_LOCK_RESPONSE, TCODE_RESERVED_12, TCODE_RESERVED_13, TCODE_RESERVED_14, TCODE_RESERVED_15 } |
enum | LockInstruction { MASK_SWAP, COMPARE_SWAP, FETCH_ADD, LITTLE_FETCH_ADD, BOUNDED_ADD, WRAP_ADD } |
enum | IsochronousRequestOption { SWAP_BYTE_ORDER = 1 } |
typedef BigEndian< uint32 > | Quadlet |
![]() | |
static IEEE1394Impl * | getDefault () noexcept |
![]() | |
static unsigned short | makeNodeId (unsigned int physicalId, unsigned int busId=0x3ff) noexcept |
static unsigned int | getBusId (unsigned short node) noexcept |
static bool | isLocalBus (unsigned short node) noexcept |
static unsigned int | getPhysicalId (unsigned short node) noexcept |
static bool | isBroadcast (unsigned short node) noexcept |
![]() | |
static const unsigned int | BROADCAST = 63 |
static const unsigned int | LOCAL_BUS = 1023 |
static const unsigned int | ISOCHRONOUS_CHANNELS = 64 |
static const unsigned int | MAXIMUM_ATTEMPTS = 5 |
![]() | |
static Reference< IsochronousReadPacketsRequestImpl > | getContext (IsochronousReadPacketsRequest &request) noexcept |
static Reference< IsochronousReadFixedPacketsRequestImpl > | getContext (IsochronousReadFixedPacketsRequest &request) noexcept |
static Reference< IsochronousReadFixedDataRequestImpl > | getContext (IsochronousReadFixedDataRequest &request) noexcept |
static Reference< IsochronousReadRequestImpl > | getContext (IsochronousReadRequest &request) noexcept |
static Reference< IsochronousWritePacketsRequestImpl > | getContext (IsochronousWritePacketsRequest &request) noexcept |
static Reference< IsochronousWriteFixedPacketsRequestImpl > | getContext (IsochronousWriteFixedPacketsRequest &request) noexcept |
static Reference< IsochronousWriteDataRequestImpl > | getContext (IsochronousWriteDataRequest &request) noexcept |
static Reference< IsochronousWriteRequestImpl > | getContext (IsochronousWriteRequest &request) noexcept |
Linux (RAW) IEEE 1394 implementation.
Linux (RAW) IEEE 1394 implementation.
LinuxRawIEEE1394::LinuxRawIEEE1394 | ( | ) |
Initializes IEEE 1394 implementation.
LinuxRawIEEE1394::~LinuxRawIEEE1394 | ( | ) |
Destroys the IEEE 1394 implementation.
|
virtual |
Acknowledges the bus reset.
Implements IEEE1394Impl.
|
virtual |
Closes this handle to the adapter. The adapter is destroyed when all handles have been closed.
Implements IEEE1394Impl.
void LinuxRawIEEE1394::dequeueResponse | ( | ) |
Dequeues one response from the driver.
Returns the adapters available.
Implements IEEE1394Impl.
|
virtual |
Returns the size of the FIFO.
Implements IEEE1394Impl.
|
virtual |
Returns the physical id of the adapter.
Implements IEEE1394Impl.
|
virtual |
Returns the number of nodes on the local bus.
Implements IEEE1394Impl.
|
virtual |
Returns an isochronous read channel.
maxPacketsPerRequest | The maximum number of packets per request. |
subchannel | Mask specifying the subchannel to reserve for this channel. |
Implements IEEE1394Impl.
|
virtual |
Returns the current error status.
Implements IEEE1394Impl.
|
virtual |
Returns an isochronous write channel.
maxPacketsPerRequest | The maximum number of packets per request. |
subchannel | Mask specifying the subchannel to reserve for this channel. |
Implements IEEE1394Impl.
|
virtual |
Returns true if the bus has been reset since last check.
Implements IEEE1394Impl.
uint32 LinuxRawIEEE1394::lock | ( | unsigned short | node, |
uint64 | address, | ||
LockInstruction | instruction, | ||
uint32 | argument, | ||
uint32 | data | ||
) |
This methods provides atomic write access to quadlet.
node | The node id of the node. |
address | The address of the quadlet (must be a quadlet boundary). |
instruction | The atomic instruction. |
argument | The argument to the instruction (ignored by FETCH_ADD and LITTLE_FETCH_ADD). |
data | The data value use by the instruction. |
|
virtual |
Opens a connection to the primary adapter.
Implements IEEE1394Impl.
|
virtual |
Opens a connection to the specified adapter.
adapter | The id of the adapter. |
Implements IEEE1394Impl.
|
virtual |
Read data from device. This method is only used for debugging and development.
node | The node id of the source node. |
address | The base address of the memory region to read from (must be a quadlet boundary). |
buffer | The data buffer. |
size | The number of quadlets to read (not bytes!). |
value | The default value to store in the buffer for unsuccessful reads. |
Implements IEEE1394Impl.
|
virtual |
Read data from device.
node | The node id of the source node. |
address | The base address of the memory region to read from. |
buffer | The data buffer. |
size | The number of bytes to read (must be an integral number of quadlets). |
Implements IEEE1394Impl.
|
virtual |
Starts an isochronous packet listener.
channel | The isochronous channel [0; 63]. |
maximumPayload | The maximum payload of a packet. |
listener | The listener to be notified on incoming packets. |
Implements IEEE1394Impl.
|
virtual |
Resets the bus.
Implements IEEE1394Impl.
|
virtual |
Wait for an event or until the timeout period expires.
milliseconds | The timeout period. |
Implements IEEE1394Impl.
|
virtual |
Write data to device.
node | The node id of the destination node. |
address | The base address of the memory region to write to. |
buffer | The data buffer. |
size | The number of bytes to write (must be an integral number of quadlets). |
Implements IEEE1394Impl.