Command Handler: Traffic Application Domain (TAD) support

Overview

A set of functions exported by a Test Agent to support TAD. More…

// typedefs

typedef enum rcf_ch_trrecv_flags rcf_ch_trrecv_flags;

// enums

enum rcf_ch_trrecv_flags;

// global functions

te_errno rcf_ch_tad_init(void);
te_errno rcf_ch_tad_shutdown(void);
int rcf_ch_csap_create(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, const uint8_t* ba, size_t cmdlen, const char* stack, const char* params);
int rcf_ch_csap_destroy(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap);
int rcf_ch_csap_param(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap, const char* param);
int rcf_ch_trsend_start(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, const uint8_t* ba, size_t cmdlen, csap_handle_t csap, te_bool postponed);
int rcf_ch_trsend_stop(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap);
int rcf_ch_trrecv_start(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, const uint8_t* ba, size_t cmdlen, csap_handle_t csap, unsigned int num, unsigned int timeout, unsigned int flags);
int rcf_ch_trrecv_stop(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap);
int rcf_ch_trrecv_get(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap);
int rcf_ch_trrecv_wait(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap);
int rcf_ch_trsend_recv(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, const uint8_t* ba, size_t cmdlen, csap_handle_t csap, unsigned int timeout, unsigned int flags);
int rcf_ch_trpoll(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap, unsigned int timeout);
int rcf_ch_trpoll_cancel(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap, unsigned int poll_id);

Detailed Documentation

A set of functions exported by a Test Agent to support TAD. The only supported version of TAD available at lib/tad, so Test Agent code located under agents/[agent type] should not care about this interface.

Typedefs

typedef enum rcf_ch_trrecv_flags rcf_ch_trrecv_flags

Traffic receive mode flags

Global Functions

te_errno rcf_ch_tad_init(void)

Initialize RCF TAD (Traffic Application Domain).

Parameters:

TE_ENOSYS

Traffic Application Domain is not supported

Returns:

Status code.

te_errno rcf_ch_tad_shutdown(void)

Shutdown RCF TAD (Traffic Application Domain).

Returns:

Status code.

int rcf_ch_csap_create(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, const uint8_t* ba, size_t cmdlen, const char* stack, const char* params)

Create a CSAP (Communication Service Access Point).

Parameters:

handle

connection handle

cbuf

command buffer

buflen

length of the command buffer

answer_plen

number of bytes in the command buffer to be copied to the answer

ba

pointer to location of binary attachment in the command buffer or NULL if no binary attachment is provided

cmdlen

full length of the command including binary attachment

stack

protocol stack identifier

params

parameters passed in the command line or NULL

0

command is supported

-1

command is not supported

other

error returned by communication library

Returns:

Indication of command support or error code

int rcf_ch_csap_destroy(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap)

Delete the CSAP.

Parameters:

handle

connection handle

cbuf

command buffer

buflen

length of the command buffer

answer_plen

number of bytes in the command buffer to be copied to the answer

csap

CSAP handle

0

command is supported

-1

command is not supported

other

error returned by communication library

Returns:

Indication of command support or error code

int rcf_ch_csap_param(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap, const char* param)

Get CSAP parameter

Parameters:

handle

connection handle

cbuf

command buffer

buflen

length of the command buffer

answer_plen

number of bytes in the command buffer to be

csap

CSAP handle

param

name of the CSAP-specific parameter

0

command is supported

-1

command is not supported

other

error returned by communication library

Returns:

Indication of command support or error code

int rcf_ch_trsend_start(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, const uint8_t* ba, size_t cmdlen, csap_handle_t csap, te_bool postponed)

“trsend_start” command handler.

Parameters:

handle

connection handle

cbuf

command buffer

buflen

length of the command buffer

answer_plen

number of bytes in the command buffer to be copied to the answer

ba

pointer to location of binary attachment in the command buffer or NULL if no binary attachment is provided

cmdlen

full length of the command including binary attachment

csap

CSAP handle

postponed

“postponed” flag value

0

command is supported

-1

command is not supported

other

error returned by communication library

Returns:

Indication of command support or error code

int rcf_ch_trsend_stop(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap)

“trsend_stop” command handler.

Parameters:

handle

connection handle

cbuf

command buffer

buflen

length of the command buffer

answer_plen

number of bytes in the command buffer to be copied to the answer

csap

CSAP handle

0

command is supported

-1

command is not supported

other

error returned by communication library

Returns:

Indication of command support or error code

int rcf_ch_trrecv_start(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, const uint8_t* ba, size_t cmdlen, csap_handle_t csap, unsigned int num, unsigned int timeout, unsigned int flags)

“trrecv_start” command handler.

Parameters:

handle

connection handle

cbuf

command buffer

buflen

length of the command buffer

answer_plen

number of bytes in the command buffer to be copied to the answer

ba

pointer to location of binary attachment in the command buffer or NULL if no binary attachment is provided

cmdlen

full length of the command including binary attachment

csap

CSAP handle

num

number of packets to be sent (0 if number of packets is unlimited)

timeout

maximum duration (in milliseconds) of receiving the traffic

flags

traffic receive flags (see rcf_ch_trrecv_flags)

0

command is supported

-1

command is not supported

other

error returned by communication library

Returns:

Indication of command support or error code

int rcf_ch_trrecv_stop(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap)

“trrecv_stop” command handler.

Parameters:

handle

connection handle

cbuf

command buffer

buflen

length of the command buffer

answer_plen

number of bytes in the command buffer to be copied to the answer

csap

CSAP handle

0

command is supported

-1

command is not supported

other

error returned by communication library

Returns:

Indication of command support or error code

int rcf_ch_trrecv_get(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap)

“trrecv_get” command handler.

Parameters:

handle

connection handle

cbuf

command buffer

buflen

length of the command buffer

answer_plen

number of bytes in the command buffer to be copied to the answer

csap

CSAP handle

0

command is supported

-1

command is not supported

other

error returned by communication library

Returns:

Indication of command support or error code

int rcf_ch_trrecv_wait(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap)

“trrecv_wait” command handler.

Parameters:

handle

connection handle

cbuf

command buffer

buflen

length of the command buffer

answer_plen

number of bytes in the command buffer to be copied to the answer

csap

CSAP handle

0

command is supported

-1

command is not supported

other

error returned by communication library

Returns:

Indication of command support or error code

int rcf_ch_trsend_recv(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, const uint8_t* ba, size_t cmdlen, csap_handle_t csap, unsigned int timeout, unsigned int flags)

“trsend_recv” command handler.

Parameters:

handle

connection handle

cbuf

command buffer

buflen

length of the command buffer

answer_plen

number of bytes in the command buffer to be copied to the answer

ba

pointer to location of binary attachment in the command buffer or NULL if no binary attachment is provided

cmdlen

full length of the command including binary attachment

csap

CSAP handle *

results

“results” flag value

timeout

timeout value in milliseconds (if > 0)

flags

traffic receive flags (see rcf_ch_trrecv_flags)

0

command is supported

-1

command is not supported

other

error returned by communication library

Returns:

Indication of command support or error code

int rcf_ch_trpoll(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap, unsigned int timeout)

“trpoll” command handler.

Parameters:

handle

connection handle

cbuf

command buffer

buflen

length of the command buffer

answer_plen

number of bytes in the command buffer to be copied to the answer

csap

CSAP handle

timeout

maximum duration (in milliseconds) of poll

0

command is supported

-1

command is not supported

other

error returned by communication library

Returns:

Indication of command support or error code

int rcf_ch_trpoll_cancel(struct rcf_comm_connection* handle, char* cbuf, size_t buflen, size_t answer_plen, csap_handle_t csap, unsigned int poll_id)

“trpoll_cancel” command handler.

Parameters:

handle

connection handle

cbuf

command buffer

buflen

length of the command buffer

answer_plen

number of bytes in the command buffer to be copied to the answer

csap

CSAP handle

poll_id

Poll request ID

0

command is supported

-1

command is not supported

other

error returned by communication library

Returns:

Indication of command support or error code