Base Framework
Classes | Public Types | Static Public Member Functions | Static Public Attributes | Static Protected Member Functions | List of all members
IEEE1394Common Class Reference

Common IEEE 1394 types. More...

#include <base/communication/IEEE1394Common.h>

Inherited by IEEE1394, and IEEE1394Impl.

Classes

class  FunctionControlProtocolListener
 Function Control Protocol (FCP) listener. More...
 
class  IsochronousChannelListener
 Isochronous channel listener. More...
 
class  IsochronousReadChannel
 
class  IsochronousReadChannelImpl
 Isochronous read channel. More...
 
class  IsochronousReadFixedDataRequest
 Isochronous read fixed data request. More...
 
class  IsochronousReadFixedDataRequestImpl
 Isochronous read fixed data request context. More...
 
class  IsochronousReadFixedPacketsRequest
 Isochronous read fixed packets request. More...
 
class  IsochronousReadFixedPacketsRequestImpl
 Isochronous read packets request context. More...
 
class  IsochronousReadPacketsRequest
 Isochronous read packets request. More...
 
class  IsochronousReadPacketsRequestImpl
 Isochronous read packets request context. More...
 
class  IsochronousReadRequest
 Isochronous read request. More...
 
class  IsochronousReadRequestImpl
 Isochronous read request context. More...
 
class  IsochronousRequestImpl
 Isochronous request descriptor. More...
 
class  IsochronousWriteChannel
 
class  IsochronousWriteChannelImpl
 Isochronous write channel. More...
 
class  IsochronousWriteDataRequest
 Isochronous write data request. More...
 
class  IsochronousWriteDataRequestImpl
 Isochronous write data request context. More...
 
class  IsochronousWriteFixedPacketsRequest
 Isochronous write fixed packets request. More...
 
class  IsochronousWriteFixedPacketsRequestImpl
 Isochronous write fixed packets request context. More...
 
class  IsochronousWritePacketsRequest
 Isochronous write packets request. More...
 
class  IsochronousWritePacketsRequestImpl
 Isochronous write packets request context. More...
 
class  IsochronousWriteRequest
 Isochronous write request. More...
 
class  IsochronousWriteRequestImpl
 Isochronous write request. More...
 

Public Types

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 Public Member Functions

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 Public Attributes

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 Protected Member Functions

static Reference< IsochronousReadPacketsRequestImplgetContext (IsochronousReadPacketsRequest &request) noexcept
 
static Reference< IsochronousReadFixedPacketsRequestImplgetContext (IsochronousReadFixedPacketsRequest &request) noexcept
 
static Reference< IsochronousReadFixedDataRequestImplgetContext (IsochronousReadFixedDataRequest &request) noexcept
 
static Reference< IsochronousReadRequestImplgetContext (IsochronousReadRequest &request) noexcept
 
static Reference< IsochronousWritePacketsRequestImplgetContext (IsochronousWritePacketsRequest &request) noexcept
 
static Reference< IsochronousWriteFixedPacketsRequestImplgetContext (IsochronousWriteFixedPacketsRequest &request) noexcept
 
static Reference< IsochronousWriteDataRequestImplgetContext (IsochronousWriteDataRequest &request) noexcept
 
static Reference< IsochronousWriteRequestImplgetContext (IsochronousWriteRequest &request) noexcept
 

Detailed Description

Common IEEE 1394 types.

Common IEEE 1394 types.

Version
1.0

Member Typedef Documentation

◆ Quadlet

The base size of a register.

Member Enumeration Documentation

◆ AcknowledgeCode

Acknowledge code.

◆ IsochronousRequestOption

Isochronous request options.

Enumerator
SWAP_BYTE_ORDER 

Activates byte order swapping on quadlet level.

◆ IsochronousRequestStatus

The status of an isochronous request.

Enumerator
READY 

The request has not been queued.

PENDING 

The request is pending.

ERROR 

An error occured.

TIMEDOUT 

The request timed out.

COMPLETED 

Request has been completed without errors.

◆ IsochronousRequestType

Isochronous request type.

Enumerator
NOT_A_REQUEST 

Invalid request.

READ_PACKETS_REQUEST 

Read packets request.

READ_FIXED_PACKETS_REQUEST 

Read fixed packets request.

READ_FIXED_DATA_REQUEST 

Read fixed data request.

WRITE_PACKETS_REQUEST 

Write packets request.

WRITE_FIXED_PACKETS_REQUEST 

Write fixed packets request.

WRITE_DATA_REQUEST 

Write data request.

◆ LockInstruction

Atomic access instruction.

Enumerator
MASK_SWAP 

new = data | (old & ~argument).

COMPARE_SWAP 

if (old == argument) new = data.

FETCH_ADD 

new = old + data (big endian).

LITTLE_FETCH_ADD 

new = old + data (little endian).

BOUNDED_ADD 

if (old != argument) new = old + data.

WRAP_ADD 

new = (old != argument) ? old + data : data.

◆ ResponseCode

Response code.

Enumerator
RCODE_COMPLETE 

The command has been completed.

RCODE_CONFLICT_ERROR 

Resource conflict.

RCODE_DATA_ERROR 

Hardware error.

RCODE_TYPE_ERROR 

Unsupported or invalid transaction.

RCODE_ADDRESS_ERROR 

Invalid address.

◆ Speed

The transfer speed.

Enumerator
S100 

The base rate. 100Mbps (98.304Mbps).

S200 

200Mbps (196.608Mbps).

S400 

400Mbps (393.216Mbps).

S800 

800Mbps (786.432Mbps).

S1600 

1600Mbps (1572.864Mbps).

S3200 

3200Mbps (3145.728Mbps).

◆ Standard

IEEE 1394 standard.

◆ Status

IEEE 1394 adapter status.

Enumerator
STATUS_OK 

No error.

STATUS_INCOMPATIBLE 

Implementation is incompatible with background API or driver.

STATUS_INTERNAL 

Failure due to an internal error in the implementation.

STATUS_CONFLICT 

Indicates that a resource is already in use.

STATUS_BUSY 

Indicates that the device is currently busy.

STATUS_ABORTED 

Request was aborted.

STATUS_TIMEOUT 

Request timed out.

STATUS_ERROR 

An unspecified error.

◆ TransactionCode

Transaction code.

Member Function Documentation

◆ getBusId()

static unsigned int IEEE1394Common::getBusId ( unsigned short  node)
inlinestaticnoexcept

Returns the bus id of the specified node id.

◆ getContext() [1/8]

static Reference<IsochronousReadFixedDataRequestImpl> IEEE1394Common::getContext ( IsochronousReadFixedDataRequest request)
inlinestaticprotectednoexcept

Returns the context.

◆ getContext() [2/8]

static Reference<IsochronousReadFixedPacketsRequestImpl> IEEE1394Common::getContext ( IsochronousReadFixedPacketsRequest request)
inlinestaticprotectednoexcept

Returns the context.

◆ getContext() [3/8]

static Reference<IsochronousReadPacketsRequestImpl> IEEE1394Common::getContext ( IsochronousReadPacketsRequest request)
inlinestaticprotectednoexcept

Returns the context.

◆ getContext() [4/8]

static Reference<IsochronousReadRequestImpl> IEEE1394Common::getContext ( IsochronousReadRequest request)
inlinestaticprotectednoexcept

Returns the context.

◆ getContext() [5/8]

static Reference<IsochronousWriteDataRequestImpl> IEEE1394Common::getContext ( IsochronousWriteDataRequest request)
inlinestaticprotectednoexcept

Returns the context.

◆ getContext() [6/8]

static Reference<IsochronousWriteFixedPacketsRequestImpl> IEEE1394Common::getContext ( IsochronousWriteFixedPacketsRequest request)
inlinestaticprotectednoexcept

Returns the context.

◆ getContext() [7/8]

static Reference<IsochronousWritePacketsRequestImpl> IEEE1394Common::getContext ( IsochronousWritePacketsRequest request)
inlinestaticprotectednoexcept

Returns the context.

◆ getContext() [8/8]

static Reference<IsochronousWriteRequestImpl> IEEE1394Common::getContext ( IsochronousWriteRequest request)
inlinestaticprotectednoexcept

Returns the context.

◆ getPhysicalId()

static unsigned int IEEE1394Common::getPhysicalId ( unsigned short  node)
inlinestaticnoexcept

Returns the physical id of the specified node id.

Examples
testsuite/IEEE1394.cpp.

◆ isBroadcast()

static bool IEEE1394Common::isBroadcast ( unsigned short  node)
inlinestaticnoexcept

Returns true if the physical id of the node id is the broadcast id.

◆ isLocalBus()

static bool IEEE1394Common::isLocalBus ( unsigned short  node)
inlinestaticnoexcept

Returns true if the bus id of the node id is the local bus.

◆ makeNodeId()

static unsigned short IEEE1394Common::makeNodeId ( unsigned int  physicalId,
unsigned int  busId = 0x3ff 
)
inlinestaticnoexcept

Returns node id for the specified physical id and bus id.

Parameters
physicalIdThe physical id [0; 63].
busIdThe bus id. The default is the local bus (i.e. 0x3ff).
Examples
testsuite/IEEE1394.cpp.

Member Data Documentation

◆ BROADCAST

const unsigned int IEEE1394Common::BROADCAST = 63
static

Broadcast id.

Examples
testsuite/IEEE1394.cpp.

◆ ISOCHRONOUS_CHANNELS

const unsigned int IEEE1394Common::ISOCHRONOUS_CHANNELS = 64
static

The number of isochronous channels.

◆ LOCAL_BUS

const unsigned int IEEE1394Common::LOCAL_BUS = 1023
static

The id of the local bus.

Examples
testsuite/IEEE1394.cpp.

◆ MAXIMUM_ATTEMPTS

const unsigned int IEEE1394Common::MAXIMUM_ATTEMPTS = 5
static

Specifies the maximum number of retries.