MX Foundation 4

Functions

uint32 mxfA664VlCreate (HMXF_CHANNEL channel, MXF_A664_VL_PARAM *param, HMXF_VL *vl)
 
uint32 mxfA664VlRelease (HMXF_VL vl)
 
uint32 mxfA664VlGet (HMXF_CHANNEL phyChn, MXF_A664_VL_PARAM *param, HMXF_VL *vl)
 
uint32 mxfA664VlInfoGet (HMXF_VL vl, MXF_A664_VL_PARAM *param, HMXF_CHANNEL *phyChn)
 
uint32 mxfA664VlCountGet (HMXF_CHANNEL phyChn, uint64 direction, uint64 *count)
 
uint32 mxfA664VlAllGet (HMXF_CHANNEL phyChn, uint64 direction, uint64 maxVl, uint64 *count, HMXF_VL *vl)
 
uint32 mxfA664PortCreate (HMXF_VL vl, MXF_A664_PORT_PARAM *param, HMXF_PORT *port)
 
uint32 mxfA664PortRelease (HMXF_PORT port)
 
uint32 mxfA664PortGet (HMXF_VL vl, MXF_A664_PORT_PARAM *param, HMXF_PORT *port)
 
uint32 mxfA664PortInfoGet (HMXF_PORT port, MXF_A664_PORT_PARAM *param, HMXF_VL *vl)
 
uint32 mxfA664PortCountGet (HMXF_VL vl, uint64 *count)
 
uint32 mxfA664PortAllGet (HMXF_VL vl, uint64 maxPorts, uint64 *count, HMXF_PORT *port)
 
uint32 mxfA664TxAperiodicWrite (HMXF_HANDLE handle, uint64 options, uint64 startTime, uint64 count, MXF_A664_DATAREC *rec, uint64 *writtenCount)
 
uint32 mxfA664TxAperiodicBufferAlloc (HMXF_CHANNEL phyChannel, uint64 priority, uint64 bufferNum, uint64 size, HMXF_BUFFER *buffer, uint64 *allocated)
 
uint32 mxfA664TxAperiodicBufferStatusGet (HMXF_BUFFER buffer, uint64 *msgCount, uint64 *freeMsgs)
 
uint32 mxfA664TxPeriodicUpdateMsgWrite (HMXF_PORT port, uint64 count, MXF_A664_DATAREC *rec)
 
uint32 mxfA664RxAcqRead (HMXF_BUFFER buffer, uint64 maxRecCount, uint64 maxBytesCount, uint64 *status, uint64 *recCount, uint64 *bytesCount, MXF_A664_DATAREC *rec)
 
uint32 mxfA664RxSamplingRead (HMXF_BUFFER buffer, uint64 flags, uint64 maxRecCount, uint64 maxBytesCount, uint64 *recCount, uint64 *bytesCount, MXF_A664_SAMPREC *rec)
 
uint32 mxfA664NextDataRecordPtrGet (MXF_A664_DATAREC *currentRec, MXF_A664_DATAREC **nextRec)
 
uint32 mxfA664ErrorInjectionGet (HMXF_HANDLE handle, uint64 errorIdx, MXF_A664_ERROR_INJ *error)
 
uint32 mxfA664ErrorInjectionSet (HMXF_HANDLE handle, uint64 errorIdx, MXF_A664_ERROR_INJ *error)
 
uint32 mxfA664StatisticPortTxGet (HMXF_PORT port, MXF_A664_STAT_PORT_TX *stats)
 
uint32 mxfA664StatisticPortRxGet (HMXF_PORT port, MXF_A664_STAT_PORT_RX *stats)
 
uint32 mxfA664StatisticVlTxGet (HMXF_VL vl, MXF_A664_STAT_VL_TX *stats)
 
uint32 mxfA664StatisticVlRxGet (HMXF_VL vl, MXF_A664_STAT_VL_RX *stats)
 
uint32 mxfA664StatisticVlRxMacRedundancyGet (HMXF_VL vl, MXF_A664_STAT_VL_RX_MAC_REDUNDANCY *stats)
 
uint32 mxfA664StatisticVlRxEDERedundancyGet (HMXF_VL vl, MXF_A664_STAT_VL_RX_EDE_REDUNDANCY *stats)
 
uint32 mxfA664StatisticIPGet (HMXF_CHANNEL channel, MXF_A664_STAT_IP *stats)
 
uint32 mxfA664StatisticUDPGet (HMXF_CHANNEL channel, MXF_A664_STAT_UDP *stats)
 
uint32 mxfA664StatisticMacRxGet (HMXF_CHANNEL channel, MXF_A664_STAT_MAC_RX *stats)
 
uint32 mxfA664EdeEsConfigGet (HMXF_CHANNEL channel, MXF_A664_EDE_ES_CONFIG *config)
 
uint32 mxfA664EdeEsConfigSet (HMXF_CHANNEL channel, MXF_A664_EDE_ES_CONFIG *config)
 
uint32 mxfA664EdeCrcConfigGet (HMXF_MODULE module, MXF_A664_EDE_CRC_CONFIG *config)
 
uint32 mxfA664EdeCrcConfigSet (HMXF_MODULE module, MXF_A664_EDE_CRC_CONFIG *config)
 
uint32 mxfA664EdeTimerSet (HMXF_CHANNEL channel, uint64 timer)
 

Detailed Description

Function Documentation

uint32 mxfA664VlCreate ( HMXF_CHANNEL  channel,
MXF_A664_VL_PARAM param,
HMXF_VL *  vl 
)
C#
public static extern UInt32 mxfA664VlCreate(UInt64 phyChn, ref MXF_A664_VL_PARAM_TX param, out UInt64 vl);

public static extern UInt32 mxfA664VlCreate(UInt64 phyChn, ref MXF_A664_VL_PARAM_RX param, out UInt64 vl);

Creates an A664 virtual link (VL) required for COM/SAP ports. For instance in transmission, the basic link attributes direction (Tx, Rx), bag, subVL buffer size are defined in the MXF_A664_VL_PARAM structure. You can create up to 128 Tx links and 512 Rx links.

Parameters
[in]channelphysical port channel handle
[in]parampointer to a MXF_A664_VL_PARAM structure
[out]vlpointer to a Virtual Link handle
Note
This function is used when AFDX/A664 COM/SAP channels must be defined. In transmission, buffers are implicitly allocated for the subVL.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664VlRelease()
mxfTxAperiodicBufferGet()
Examples:
ar664_aperiodicSap.c, ar664_aperiodicSap.cs, ar664_com_queuing_basic.c, ar664_com_queuing_basic.cs, ar664_end_system.c, ar664_end_system.cs, ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, ar664_error_injection_detection_ede.cs, ar664_raw_rx.c, ar664_raw_rx.cs, ar664_recorder.c, ar664_recorder.cs, ar664_sampling.c, and ar664_sampling.cs.
uint32 mxfA664VlRelease ( HMXF_VL  vl)
C#
public static extern UInt32 mxfA664VlRelease(UInt64 vl);

Terminates a Virtual Link and releases its resources.

Parameters
[in]vlpointer to a virtual link handle
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664VlCreate()
Examples:
ar664_aperiodicSap.c, ar664_aperiodicSap.cs, ar664_com_queuing_basic.c, ar664_com_queuing_basic.cs, ar664_end_system.c, ar664_end_system.cs, ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, ar664_error_injection_detection_ede.cs, ar664_raw_rx.c, ar664_raw_rx.cs, ar664_recorder.c, ar664_recorder.cs, ar664_sampling.c, and ar664_sampling.cs.
uint32 mxfA664VlGet ( HMXF_CHANNEL  phyChn,
MXF_A664_VL_PARAM param,
HMXF_VL *  vl 
)
C#
public static extern UInt32 mxfA664VlGet(UInt64 phyChn, ref MXF_A664_VL_PARAM_TX param, out UInt64 vl);

public static extern UInt32 mxfA664VlGet(UInt64 phyChn, ref MXF_A664_VL_PARAM_RX param, out UInt64 vl);

Returns the handle for a Virtual Link given the channel handle and parameter information.

Parameters
[in]phyChnchannel handle
[in]parampointer to a MXF_A664_VL_PARAM structure. Direction and VL ID are used for the research.
[out]vlpointer to a virtual link handle
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664VlInfoGet()
mxfA664VlCountGet()
mxfA664VlAllGet()
Examples:
ar664_end_system.c, and ar664_end_system.cs.
uint32 mxfA664VlInfoGet ( HMXF_VL  vl,
MXF_A664_VL_PARAM param,
HMXF_CHANNEL *  phyChn 
)
C#
public static extern UInt32 mxfA664VlInfoGet(UInt64 vl, out MXF_A664_VL_PARAM_TX param, out UInt64 phyChn);

public static extern UInt32 mxfA664VlInfoGet(UInt64 vl, out MXF_A664_VL_PARAM_RX param, out UInt64 phyChn);

Returns the parameter information for a given VL.

Parameters
[in]vlVirtual Link channel handle
[out]parampointer to a MXF_A664_VL_PARAM structure
[out]phyChnpointer to a physical channel handle
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664VlGet()
mxfA664VlCountGet()
mxfA664VlAllGet()
uint32 mxfA664VlCountGet ( HMXF_CHANNEL  phyChn,
uint64  direction,
uint64 *  count 
)
C#
public static extern UInt32 mxfA664VlCountGet(UInt64 phyChn, UInt64 direction, out UInt64 count);

Returns the number of Virtual Links created on a channel for a specified direction (Tx or Rx).

Parameters
[in]phyChnchannel handle
[in]directionVirtual Link direction
Flag Direction
MXF_A664_VL_DIR_RX Receive
MXF_A664_VL_DIR_TX Transmit
[out]countcount of virtual links
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664VlGet()
mxfA664VlInfoGet()
mxfA664VlAllGet()
uint32 mxfA664VlAllGet ( HMXF_CHANNEL  phyChn,
uint64  direction,
uint64  maxVl,
uint64 *  count,
HMXF_VL *  vl 
)
C#
public static extern UInt32 mxfA664VlAllGet(UInt64 phyChn, UInt64 direction, UInt64 maxVl, out UInt64 count, UInt64[] vl);

Returns the number of Virtual Links created on a channel for a specified direction (Tx or Rx).

Parameters
[in]phyChnchannel handle
[in]directionVirtual Link direction
Flag Direction
MXF_A664_VL_DIR_RX Receive
MXF_A664_VL_DIR_TX Transmit
[in]maxVlMaximum number of Virtual Links to return
[out]countcount of virtual links
[out]vlpointer to an array of Virtual Link handles
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664VlGet()
mxfA664VlInfoGet()
mxfA664VlCountGet()
uint32 mxfA664PortCreate ( HMXF_VL  vl,
MXF_A664_PORT_PARAM param,
HMXF_PORT *  port 
)
C#
public static extern UInt32 mxfA664PortCreate(UInt64 vl, ref MXF_A664_PORT_PARAM param, out UInt64 port);

Creates a new port on a Virtual Link. Each VL can support 1024 ports with a system limit of 10,000 ports maximum.

Parameters
[in]vlVirtual Link Handle
[in]parampointer to a MXF_A664_PORT_PARAM structure
[out]portpointer to a port handle
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664PortRelease()
Examples:
ar664_aperiodicSap.c, ar664_aperiodicSap.cs, ar664_com_queuing_basic.c, ar664_com_queuing_basic.cs, ar664_end_system.c, ar664_end_system.cs, ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, ar664_error_injection_detection_ede.cs, ar664_raw_rx.c, ar664_raw_rx.cs, ar664_recorder.c, ar664_recorder.cs, ar664_sampling.c, and ar664_sampling.cs.
uint32 mxfA664PortRelease ( HMXF_PORT  port)
C#
public static extern UInt32 mxfA664PortRelease(UInt64 port);

Terminates a port and releases its resources.

Parameters
[in]portVirtual Link Handle
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664PortCreate()
Examples:
ar664_aperiodicSap.c, ar664_aperiodicSap.cs, ar664_com_queuing_basic.c, ar664_com_queuing_basic.cs, ar664_end_system.c, ar664_end_system.cs, ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, ar664_error_injection_detection_ede.cs, ar664_raw_rx.c, ar664_raw_rx.cs, ar664_recorder.c, ar664_recorder.cs, ar664_sampling.c, and ar664_sampling.cs.
uint32 mxfA664PortGet ( HMXF_VL  vl,
MXF_A664_PORT_PARAM param,
HMXF_PORT *  port 
)
C#
public static extern UInt32 mxfA664PortGet(UInt64 vl, ref MXF_A664_PORT_PARAM param, out UInt64 port);

Returns the handle for a port given the Virtual Link and parameters.

Parameters
[in]vlVirtual Link Handle
[in]parampointer to a MXF_A664_PORT_PARAM structure; portType, family and source/destination address are used for research.
[out]portpointer to a port handle
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664PortInfoGet()
mxfA664PortCountGet()
mxfA664PortAllGet()
uint32 mxfA664PortInfoGet ( HMXF_PORT  port,
MXF_A664_PORT_PARAM param,
HMXF_VL *  vl 
)
C#
public static extern UInt32 mxfA664PortInfoGet(UInt64 port, out MXF_A664_PORT_PARAM param, out UInt64 vl);

Gives parameter information and VL handle for a specific port handle.

Parameters
[in]portport handle
[out]parampointer to a MXF_A664_PORT_PARAM structure
[out]vlpointer to a Virtual Link handle
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664PortGet()
mxfA664PortCountGet()
mxfA664PortAllGet()
uint32 mxfA664PortCountGet ( HMXF_VL  vl,
uint64 *  count 
)
C#
public static extern UInt32 mxfA664PortCountGet(UInt64 handle, out UInt64 count);

Gives a port count for a given Virtual Link

Parameters
[in]vlVirtual Link Handle
[out]countport count
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664PortGet()
mxfA664PortInfoGet()
mxfA664PortAllGet()
uint32 mxfA664PortAllGet ( HMXF_VL  vl,
uint64  maxPorts,
uint64 *  count,
HMXF_PORT *  port 
)
C#
public static extern UInt32 mxfA664PortAllGet(UInt64 vl, UInt64 maxPorts, out UInt64 count, UInt64[] port);

Gives a port count and an array of port handles for a given VL. The count is limited using the maxPorts option.

Parameters
[in]vlVirtual Link Handle
[in]maxPortsMaximum number of ports to return
[out]countpointer to a count of ports on the VL
[out]porta pointer to an array of port handles
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664PortGet()
mxfA664PortInfoGet()
mxfA664PortCountGet()
uint32 mxfA664TxAperiodicWrite ( HMXF_HANDLE  handle,
uint64  options,
uint64  startTime,
uint64  count,
MXF_A664_DATAREC rec,
uint64 *  writtenCount 
)
C#
public static extern UInt32 mxfA664TxAperiodicWrite(UInt64 handle, UInt64 options, UInt64 startTime, UInt64 count, IntPtr rec, out UInt64 writtenCount);

Sends aperiodic data record for transmission. The data items to be transmitted are specified within the records, along with a time tag and a control word. The first data item is transmitted at the specified starting time. Timing options are only available when transmitting with raw port.

The records to transmit on time tag must be placed in chronological order in the array. The same time tag must not appear more than once in the array. When the start time is specified, the time tag of the first record or the start time should be at least 50 msec in advance to be relatively precise otherwise it will be sent as soon as possible. Also, the cumulative time of all record’s time tag and the start time must be smaller than 30 seconds.

Note
This function is the specific version for ARINC 664 of the multi-protocol mxfTxAperiodicWrite() function.
Parameters
[in]handleCOM/SAP queuing port handle or buffer handle in RAW mode.
[in]optionsoptions for controlling the transmitter before for sending the data records. The details of the options are explained below.
Options Mode
MXF_TXAPERIODIC_FLAG_DEFAULT Raw and VL.
MXF_TXAPERIODIC_FLAG_USE_RECORD_ABSOLUTE_TIME Raw only.
MXF_TXAPERIODIC_FLAG_ABSOLUTE_START_TIME Raw only.
MXF_TXAPERIODIC_FLAG_USE_RECORD_RELATIVE_TIME Raw only.
[in]startTimestart time based on the timebase. Can only be used in raw mode, set to 0 in VL mode. This is the time at which the data held in the first record is transmitted by the device. The time is either expressed accordingly to the process time base or relative to the current real-time clock value (i.e. offset in the future). If the bit MXF_TXAPERIODIC_FLAG_ABSOLUTE_START_TIME of the transmit flag is set, then the start time is specified in absolute time (rather than relative). MXF_TXAPERIODIC_FLAG_USE_RECORD_ABSOLUTE_TIME or MXF_TXAPERIODIC_FLAG_USE_RECORD_RELATIVE_TIME options cannot be used with a start time.
[in]countnumber of records to write
[in]recpointer to a MXF_A664_DATAREC data structure containing the records to be written
[out]writtenCountNumber of records written. If writtenCount is different from count, MAXT_ERROR_BUFFER_OVERRUN will also be returned.


The options parameter modifies the transmission scheme as described below;

  • MXF_TXAPERIODIC_FLAG_DEFAULT

    This is the default transmission flag, the scheduling priority defined when the buffer area was defined (see mxfTxAperiodicBufferAlloc()) is used to schedule the transmissions.

    The time tag field is not used and must be set to 0. The records are transmitted with minimum delay between them.

  • MXF_TXAPERIODIC_FLAG_USE_RECORD_ABSOLUTE_TIME

    When set, the absolute transmit time of each data must be set in the record time tag. The time tag must be formatted according to the process time base. Only available when transmitting with raw port.

    This flag cannot be used with MXF_TXAPERIODIC_FLAG_USE_RECORD_RELATIVE_TIME, MXF_TXAPERIODIC_FLAG_ABSOLUTE_START_TIME or a start time.

  • MXF_TXAPERIODIC_FLAG_USE_RECORD_RELATIVE_TIME

    When set, the relative transmit time of each data must be set in the record time tag. The process time base resolution is used, but the time base itself is ignored.

    This option causes transmission of the first record at the specified offset and transmission of the remaining records after a delay that is computed by subtracting the record time tag from the time tag of preceding records (i.e. delta time). Only available when transmitting with raw port.

    Let’s assume N data records to be transmitted with the MXF_TXAPERIODIC_FLAG_USE_RECORD_RELATIVE_TIME.

    The actual record data transmit time will be computed as follows:

    Time rec1 = Transmission offset (min 50 msec)
    Time rec2 = Time rec1 + (rec2 time tag – rec1 time tag )
    Time rec3 = Time rec2 + (rec3 time tag – rec2 time tag )
    …
    Time recN = Time recN-1 + (recN time tag - recN-1 time tag )

    This flag cannot be used with MXF_TXAPERIODIC_FLAG_USE_RECORD_ABSOLUTE_TIME, MXF_TXAPERIODIC_FLAG_ABSOLUTE_START_TIME or a start time.

  • MXF_TXAPERIODIC_FLAG_ABSOLUTE_START_TIME

    When set, the startTime parameter must be formatted according to the process time base. Only available when transmitting with raw port.

    If not set, the startTime parameter is expressed as a relative time from the current real time clock value. The process time base resolution is used, but the time base itself is ignored.

    This flag cannot be used with the MXF_TXAPERIODIC_FLAG_USE_RECORD_ABSOLUTE_TIME or MXF_TXAPERIODIC_FLAG_USE_RECORD_RELATIVE_TIME options.
Returns

MAXT_SUCCESS
Success is returned when all the records are transmitted.

MAXT_ERROR_OVERRUN
MAXT_ERROR_MESSAGE_SIZE
For all the above errors when a multi-records transmission is performed,
if one record cannot be transmitted for some reasons (exceed the buffer size
or cannot be fragmented for instance), the transmission is stopped and all the following
records are not transmitted. The return code describes the first error encountered.

Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfSystemTimeBaseSet()
mxfA664NextDataRecordPtrGet()
Examples:
ar664_aperiodicSap.c, ar664_aperiodicSap.cs, ar664_com_queuing_basic.c, ar664_com_queuing_basic.cs, ar664_end_system.c, ar664_end_system.cs, ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, ar664_error_injection_detection_ede.cs, ar664_playback.c, ar664_playback.cs, ar664_raw_rx.c, ar664_raw_rx.cs, ar664_recorder.c, and ar664_recorder.cs.
uint32 mxfA664TxAperiodicBufferAlloc ( HMXF_CHANNEL  phyChannel,
uint64  priority,
uint64  bufferNum,
uint64  size,
HMXF_BUFFER *  buffer,
uint64 *  allocated 
)
C#
public static extern UInt32 mxfA664TxAperiodicBufferAlloc(UInt64 phyChannel, UInt64 priority, UInt64 bufferNum, UInt64 size, out UInt64 buffer, out UInt64 allocated);

public static extern UInt32 mxfA664TxAperiodicBufferAlloc(UInt64 phyChannel, UInt64 priority, UInt64 bufferNum, UInt64 size, out UInt64 buffer, IntPtr allocated);

Allocates an aperiodic transmission buffer for raw mode (subvl buffer is automatically allocated for VL mode). The allocated size can be greater than the asked size (rounding is done for internal buffer alignment). allocated parameter can return the actual allocated size.

Parameters
[in]phyChannelchannel handle.
[in]prioritytransmission priority.
Constant Description
MXF_TXAPERIODIC_PRIORITY_LOW Low priority
MXF_TXAPERIODIC_PRIORITY_HIGH High priority
[in]bufferNumnumber of buffer of size bytes to allocate [1-8192]
[in]sizesize in bytes for each buffer to allocate [1-1518]
[out]bufferhandle of aperiodic buffer area
[out]allocatedreturned allocated size of one buffer. Optional, pass NULL to if not needed.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfTxAperiodicBufferFree()
mxfTxAperiodicBufferGet()
mxfA664TxAperiodicBufferStatusGet()
Examples:
ar664_playback.c, and ar664_playback.cs.
uint32 mxfA664TxAperiodicBufferStatusGet ( HMXF_BUFFER  buffer,
uint64 *  msgCount,
uint64 *  freeMsgs 
)
C#
public static extern UInt32 mxfA664TxAperiodicBufferStatusGet(UInt64 buffer, out UInt64 msgCount, out UInt64 freeMsgs);

Returns the number of messages pending and free space in the aperiodic buffer.

Parameters
[in]bufferbuffer handle.
[out]msgCountnumber of pending messages.
[out]freeMsgsnumber of free messages.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664TxAperiodicBufferAlloc()
mxfTxAperiodicWrite()
mxfTxAperiodicClear()
uint32 mxfA664TxPeriodicUpdateMsgWrite ( HMXF_PORT  port,
uint64  count,
MXF_A664_DATAREC rec 
)
C#
public static extern UInt32 mxfA664TxPeriodicUpdateMsgWrite(UInt64 port, UInt64 count, IntPtr rec);

Updates Tx sampling port data record for transmission.

Note
This function is the specific version for ARINC 664 of the multi-protocol mxfTxPeriodicUpdateMsgWrite() function.
Parameters
[in]portCOM/SAP sampling port handle.
[in]countnumber of records to write. Always set to one.
[in]recpointer to a MXF_A664_DATAREC data structure containing the record to be written
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2.4 and later.
See also
mxfA664TxAperiodicWrite()
Examples:
ar664_sampling.c, and ar664_sampling.cs.
uint32 mxfA664RxAcqRead ( HMXF_BUFFER  buffer,
uint64  maxRecCount,
uint64  maxBytesCount,
uint64 *  status,
uint64 *  recCount,
uint64 *  bytesCount,
MXF_A664_DATAREC rec 
)
C#
public static extern UInt32 mxfA664RxAcqRead(UInt64 buffer, UInt64 maxRecCount, UInt64 maxBytesCount, out UInt64 status, out UInt64 recCount, out UInt64 bytesCount, IntPtr rec);

Transfers the records from the channel acquisition queuing buffer to the calling application.

The time tag in the records is expressed according to the timebase format.

The function reads messages up to maxRecCount or maxBytesCount, the first one that is reached.

Note
This function is the specific version for ARINC 664 of the multi-protocol mxfRxAcqRead() function.
Parameters
[in]bufferqueuing buffer handle
[in]maxRecCountmaximum number of messages to read. Passing 0 to this parameter will make the function ignore it and be only limited by maxBytesCount.
[in]maxBytesCountmaximum number of bytes to be read (1 to 100MB).
[out]statuslast status set.
[out]recCountnumber of records returned.
[out]bytesCountnumber of bytes returned.
[out]recaddress of MXF_A664_DATAREC structure. The records in the buffer need to be indexed using the mxfA664NextDataRecordPtrGet() function.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664NextDataRecordPtrGet()
mxfA664RxSamplingRead()
Examples:
ar664_aperiodicSap.c, ar664_aperiodicSap.cs, ar664_com_queuing_basic.c, ar664_com_queuing_basic.cs, ar664_end_system.c, ar664_end_system.cs, ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, ar664_error_injection_detection_ede.cs, ar664_playback.c, ar664_playback.cs, ar664_raw_rx.c, ar664_raw_rx.cs, ar664_recorder.c, and ar664_recorder.cs.
uint32 mxfA664RxSamplingRead ( HMXF_BUFFER  buffer,
uint64  flags,
uint64  maxRecCount,
uint64  maxBytesCount,
uint64 *  recCount,
uint64 *  bytesCount,
MXF_A664_SAMPREC rec 
)
C#
public static extern UInt32 mxfA664RxSamplingRead(UInt64 buffer, UInt64 flags, UInt64 maxRecCount, UInt64 maxBytesCount, out UInt64 recCount, out UInt64 bytesCount, IntPtr rec);

Reads all sampling records from the sampling buffer to the application buffer. Available for A664 Rx sampling port only.

The sampling process maintains records for all of the received addresses. An address is considered received if corresponding data words were received within the kill-time period. A record refresh from the receive port resets the kill-time timer and an updated copy is made available to the application.

The sampling record contains information on the arrival rate and the number of errors, as well as the latest data received for that address.

Note
This function is the specific version for ARINC 664 of the multi-protocol mxfRxSamplingRead() function.
Parameters
[in]buffersampling buffer handle.
[in]flagsoption flag.
Flags Description
MXF_RXSAMPLING_FLAG_DEFAULT The record is kept in the buffer and the same record can be read again by the current or another application.
MXF_RXSAMPLING_FLAG_ERASE_WHEN_READ After the sampling record is returned, it is removed from the buffer.
[in]maxRecCountmaximum number of messages to read (0 means all messages).
[in]maxBytesCountmaximum number of bytes to read.
[out]recCountnumber of messages returned.
[out]bytesCountnumber of bytes returned.
[out]recpointer to MXF_A664_SAMPREC message record structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664RxAcqRead()
Examples:
ar664_sampling.c, and ar664_sampling.cs.
uint32 mxfA664NextDataRecordPtrGet ( MXF_A664_DATAREC currentRec,
MXF_A664_DATAREC **  nextRec 
)
C#
public static extern UInt32 mxfA664NextDataRecordPtrGet(IntPtr currentRec, out IntPtr nextRec);

Returns the next buffer address in a MXF_A664_DATAREC buffer array.

Note
This function is the specific version for ARINC 664 of the multi-protocol mxfNextRecordPtrGet() function.
Parameters
[in]currentRecpointer to the beginning or the current record in the MXF_A664_DATAREC structure
[out]nextRecpointer to next record in the buffer
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664RxAcqRead()
Examples:
ar664_aperiodicSap.c, ar664_aperiodicSap.cs, ar664_com_queuing_basic.c, ar664_com_queuing_basic.cs, ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, ar664_error_injection_detection_ede.cs, ar664_playback.c, ar664_playback.cs, ar664_raw_rx.c, ar664_raw_rx.cs, ar664_recorder.c, and ar664_recorder.cs.
uint32 mxfA664ErrorInjectionGet ( HMXF_HANDLE  handle,
uint64  errorIdx,
MXF_A664_ERROR_INJ error 
)
C#
public static extern UInt32 mxfA664ErrorInjectionGet(UInt64 handle, UInt64 errorIdx, out MXF_A664_ERROR_INJ error);

Reads the specified error injection structure.

Parameters
[in]handleChannel or port handle.
[in]errorIdxerror index to return (0-99).
[out]errorPointer to a MXF_A664_ERROR_INJ structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2.4 and later.
See also
mxfA664ErrorInjectionSet()
uint32 mxfA664ErrorInjectionSet ( HMXF_HANDLE  handle,
uint64  errorIdx,
MXF_A664_ERROR_INJ error 
)
C#
public static extern UInt32 mxfA664ErrorInjectionSet(UInt64 handle, UInt64 errorIdx, ref MXF_A664_ERROR_INJ error);

This function call is used to define transmission error injection rule(s) to apply to a specific physical channel(s) (RAW) or VL/COM/SAP channel(s).

Parameters
[in]handlePhysical channel handle or COM/SAP port handle.
[in]errorIdxError index (0-99) for the rule.
[in]errorPointer to a MXF_A664_ERROR_INJ structure.

This MXF_A664_ERROR_INJ structure define the error injection rules to trigger in transmission.
The errorIdx define one specific rule.

For injecting an error in transmission the MXF_A664_TX_REC_CTRL_ERROR_INJ option must be specified in the control fields of the MXF_A664_DATAREC. The errorIdx field of the structure (in service::txAperiodic::errorIndex) must match the errorIdx defined for the rule in MXF_A664_ERROR_INJ in order to inject an error.

A maximum of 100 errors can be defined for the module.

An error defined on a COM port can be shared with another COM port by selecting the same error index.

Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2.4 and later.
See also
mxfA664ErrorInjectionGet()
Examples:
ar664_error_injection_detection.c, ar664_error_injection_detection.cs, ar664_error_injection_detection_ede.c, and ar664_error_injection_detection_ede.cs.
uint32 mxfA664StatisticPortTxGet ( HMXF_PORT  port,
MXF_A664_STAT_PORT_TX stats 
)
C#
public static extern UInt32 mxfA664StatisticPortTxGet(UInt64 port, out MXF_A664_STAT_PORT_TX stats);

This function returns statistics counters for a given Tx COM/SAP port.

Parameters
[in]portport handle.
[out]statspointer to a MXF_A664_STAT_PORT_TX data structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664StatisticPortRxGet()
uint32 mxfA664StatisticPortRxGet ( HMXF_PORT  port,
MXF_A664_STAT_PORT_RX stats 
)
C#
public static extern UInt32 mxfA664StatisticPortRxGet(UInt64 port, out MXF_A664_STAT_PORT_RX stats);

This function returns the statistics counters for a given Rx COM/SAP port.

Parameters
[in]portport handle.
[out]statspointer to a MXF_A664_STAT_PORT_RX data structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664StatisticPortTxGet()
uint32 mxfA664StatisticVlTxGet ( HMXF_VL  vl,
MXF_A664_STAT_VL_TX stats 
)
C#
public static extern UInt32 mxfA664StatisticVlTxGet(UInt64 vl, out MXF_A664_STAT_VL_TX stats);

This function returns the transmit statistical counters for a virtual link.

Parameters
[in]vlvirtual link handle.
[out]statspointer to a MXF_A664_STAT_VL_TX data structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664StatisticVlRxGet()
uint32 mxfA664StatisticVlRxGet ( HMXF_VL  vl,
MXF_A664_STAT_VL_RX stats 
)

This function returns the receive statistical counters for a virtual link.

Parameters
[in]vlvirtual link handle.
[out]statspointer to a MXF_A664_STAT_VL_RX data structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664StatisticVlTxGet()
uint32 mxfA664StatisticVlRxMacRedundancyGet ( HMXF_VL  vl,
MXF_A664_STAT_VL_RX_MAC_REDUNDANCY stats 
)
C#
public static extern UInt32 mxfA664StatisticVlRxMacRedundancyGet(UInt64 vl, out MXF_A664_STAT_VL_RX_MAC_REDUNDANCY stats);

This function returns the MAC redundancy counters for a given port. This information includes the number of frames received, passed up, and discarded.

Parameters
[in]vlvl handle.
[out]statspointer to a MXF_A664_STAT_VL_RX_MAC_REDUNDANCY data structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664StatisticVlRxEDERedundancyGet()
uint32 mxfA664StatisticVlRxEDERedundancyGet ( HMXF_VL  vl,
MXF_A664_STAT_VL_RX_EDE_REDUNDANCY stats 
)
C#
public static extern UInt32 mxfA664StatisticVlRxEDERedundancyGet(UInt64 vl, out MXF_A664_STAT_VL_RX_EDE_REDUNDANCY stats);

This function returns the EDE redundancy counters for a given port. This information includes the number of frames discarded because of EDE-CRC errors, invalid EDE timetag, and invalid EDE sequence number.

Parameters
[in]vlvl handle.
[out]statspointer to a MXF_A664_STAT_VL_RX_EDE_REDUNDANCY data structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664StatisticVlRxMacRedundancyGet()
uint32 mxfA664StatisticIPGet ( HMXF_CHANNEL  channel,
MXF_A664_STAT_IP stats 
)
C#
public static extern UInt32 mxfA664StatisticIPGet(UInt64 channel, out MXF_A664_STAT_IP stats);

This function returns the IP protocol statistics for a given channel. This includes datagrams sent and received as well packets discarded and fragmentation statistics.

Parameters
[in]channelchannel handle.
[out]statspointer to a MXF_A664_STAT_IP data structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664StatisticUDPGet()
uint32 mxfA664StatisticUDPGet ( HMXF_CHANNEL  channel,
MXF_A664_STAT_UDP stats 
)
C#
public static extern UInt32 mxfA664StatisticUDPGet(UInt64 channel, out MXF_A664_STAT_UDP stats);

This function returns the UDP protocol statistics for a given channel. This includes datagrams sent and received as well as bad headers and failed CRC.

Parameters
[in]channelchannel handle.
[out]statspointer to a MXF_A664_STAT_UDP data structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664StatisticIPGet()
uint32 mxfA664StatisticMacRxGet ( HMXF_CHANNEL  channel,
MXF_A664_STAT_MAC_RX stats 
)
C#
public static extern UInt32 mxfA664StatisticMacRxGet(UInt64 channel, out MXF_A664_STAT_MAC_RX stats);

This function returns the MAC Rx physical port counters.

Parameters
[in]channelphysical channel handle.
[out]statspointer to a MXF_A664_STAT_MAC_RX data structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2 and later.
See also
mxfA664StatisticVlRxGet()
uint32 mxfA664EdeEsConfigGet ( HMXF_CHANNEL  channel,
MXF_A664_EDE_ES_CONFIG config 
)
C#
public static extern UInt32 mxfA664EdeEsConfigGet(UInt64 channel, out MXF_A664_EDE_ES_CONFIG config);

Gets the EDE End System Configuration.

Parameters
[in]channelPhysical channel handle.
[out]configPointer to a MXF_A664_EDE_ES_CONFIG structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2.4 and later.
See also
mxfA664EdeEsConfigSet()
uint32 mxfA664EdeEsConfigSet ( HMXF_CHANNEL  channel,
MXF_A664_EDE_ES_CONFIG config 
)
C#
public static extern UInt32 mxfA664EdeEsConfigSet(UInt64 channel, ref MXF_A664_EDE_ES_CONFIG config);

Sets the EDE End System Configuration.

Parameters
[in]channelPhysical channel handle.
[in]configPointer to a MXF_A664_EDE_ES_CONFIG structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2.4 and later.
See also
mxfA664EdeEsConfigGet()
uint32 mxfA664EdeCrcConfigGet ( HMXF_MODULE  module,
MXF_A664_EDE_CRC_CONFIG config 
)
C#
public static extern UInt32 mxfA664EdeCrcConfigGet(UInt64 module, out MXF_A664_EDE_CRC_CONFIG config);

This function returns the configuration of EDE CRCs.

Parameters
[in]modulemodule handle.
[out]configpointer to CRC configuration structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2.4 and later.
See also
mxfA664EdeCrcConfigSet()
uint32 mxfA664EdeCrcConfigSet ( HMXF_MODULE  module,
MXF_A664_EDE_CRC_CONFIG config 
)
C#
public static extern UInt32 mxfA664EdeCrcConfigSet(UInt64 module, ref MXF_A664_EDE_CRC_CONFIG config);

This function sets the configuration (polynomial value and initial value) of EDE CRCs.

Parameters
[in]modulemodule handle.
[in]configpointer to CRC configuration structure.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2.4 and later.
See also
mxfA664EdeCrcConfigGet()
uint32 mxfA664EdeTimerSet ( HMXF_CHANNEL  channel,
uint64  timer 
)
C#
public static extern UInt32 mxfA664EdeTimerSet(UInt64 channel, UInt64 timer);

Sets the EDE timer. By default, the EDE timer is synchronized with the device timer.

Parameters
[in]channelchannel handle.
[in]timer48-bit microsecond timer to set.
Returns
MAXT_SUCCESS is returned when the function has succeeded.
Refer to mxf_error.h for a list of defined errors.
Call mxfSystemErrorStringGet() to transform the return code into a text string.
Availability:
Available in MX Foundation 4.2.4 and later.
See also
mxfA664EdeCrcConfigSet()
Updated 10/23/2023