Difference between revisions of "OCEOSmp/blank"

From wiki
Jump to navigation Jump to search
(Replaced content with " == Next Section == ===<span style="color:#0000ff">blank_function()</span>=== <blockquote style="border-left-style: none;"> <span style="color:#1b7ac2">'''Header File'''...")
Tag: Replaced
Line 2: Line 2:
== Next Section ==
== Next Section ==


===<span style="color:#0000ff">oceos_dataq_create()</span>===
<blockquote style="border-left-style: none;">
<span style="color:#1b7ac2">'''Header File'''</span><br>
'''''dataq.h'''''<br>
<span style="color:#1b7ac2">'''Description'''</span><br>
This function creates a data queue with the specified characteristics.
<span style="color:#1b7ac2">'''Prototype'''</span><br>
<syntaxhighlight lang="C">
/**
* Create data queue
* If use_timeout = TRUE, timed actions must be initialised
*
* @param dataq_id      data queue ID
* @param dataq_size    data queue size
* @param pen_q_size    pending jobs queue size
* @param roll_over    whether to roll over when full
* @param use_timeout  if TRUE, directive oceos_dataq_read_restart_timeout can be used
*
* @return  OCEOS_SUCCESS
*          ERR_SYS_FIXED_CORRUPT      System Fixed area corrupt
*          ERR_WRONG_CPU_CORE          Executing directive on wrong CPU
*          ERR_WRONG_PHASE            Called before oceos_init() is done
*          ERR_TOO_MANY                MAX number of DATAQs already created
*          ERR_ID_INVALID              DATAQ ID outside allowed range 0 to 62
*          ERR_ID_WRONG                DATAQ ID >= number of DATAQs
*          ERR_DQ_ALREADY_ALLOCATED    DATAQ ID already used
*          ERR_DQ_SIZE_WRONG          DATAQ size outside allowed range 1 to 255
*          ERR_DQ_PENQ_SIZE_WRONG      DATAQ pending queue size outside allowed range 1 to 253
*          ERR_DQ_TA_MAX_NUM_REACHED  Number of timed actions exceeds MAX allowed 255,
*                                      each task on DATAQ pending queue is timed action
*/
S32_t oceos_dataq_create(
                        dataq_t dataq_id,    // data queue ID
                        U16_t dataq_size,    // data queue size
                        U16_t pen_q_size,    // pending jobs queue size
                        BOOLE_t roll_over,  // whether to roll over when full
                        BOOLE_t use_timeout  // whether timeout is used oceos_dataq_read_restart_timeout
);
</syntaxhighlight>
<span style="color:#1b7ac2">'''Parameters'''</span><br>
{| class="wikitable"
|-
! Parameter !! Description
|-
| dataq_id ||  dataq_t data queue ID (number between 0 and 62)
|-
| dataq_size ||  data queue size (max number of pointers than can be added to the queue)
|-
| pen_q_size ||  pending jobs queue size
|-
| roll_over ||    whether to roll over when full (0 => disabled, 1 => enabled)
|-
| use_timeout ||  if TRUE, directive oceos_dataq_read_restart_timeout can be used
|}
<span style="color:#1b7ac2">'''Returns'''</span><br>
This function returns an S32_t with a value of OCEOS_SUCCESS (zero) or return code bits set as defined in the table below.
{| class="wikitable"
|-
| ERR_SYS_FIXED_CORRUPT      || System Fixed area corrupt
|-
| ERR_WRONG_CPU_CORE          || Executing directive on wrong CPU
|-
| ERR_WRONG_PHASE            || Called before oceos_init() is done
|-
| ERR_TOO_MANY                || MAX number of DATAQs already created
|-
| ERR_ID_INVALID              || DATAQ ID outside allowed range 0 to 62
|-
| ERR_ID_WRONG                || DATAQ ID >= number of DATAQs
|-
| ERR_DQ_ALREADY_ALLOCATED    || DATAQ ID already used
|-
| ERR_DQ_SIZE_WRONG          || DATAQ size outside allowed range 1 to 255
|-
| ERR_DQ_PENQ_SIZE_WRONG      || DATAQ pending queue size outside allowed range 1 to 253
|-
| ERR_DQ_TA_MAX_NUM_REACHED  || Number of timed actions exceeds MAX allowed 255, each task on DATAQ pending queue is timed action
|}
<span style="color:#1b7ac2">'''Example Usage'''</span><br>
<syntaxhighlight lang="C">
S32_t status;
...
// Create data queue d_3 with size 20, max pending jobs of 10, rollover enabled, timeouts disabled
status = oceos_dataq_create(d_3, 20, 10, 1, 0));
</syntaxhighlight>
</blockquote>
===<span style="color:#0000ff">oceos_dataq_write()</span>===
<blockquote style="border-left-style: none;">
<span style="color:#1b7ac2">'''Header File'''</span><br>
'''''dataq.h'''''<br>
<span style="color:#1b7ac2">'''Description'''</span><br>
This function puts a non-null pointer on the specified data queue.
<span style="color:#1b7ac2">'''Prototype'''</span><br>
<syntaxhighlight lang="C">
/**
* Puts pointer to the data on data queue.
* Pointer to the data must not be NULL
*
* @param dataq_t dataq_id Data queue ID
* @param void* data      Non-null pointer to data
*
* @return  OCEOS_SUCCESS
*          WARN_DQ_NOW_FULL            Warning, DATAQ is full now
*          WARN_JOB_NOT_GUARDED
*
*          ERR_SYS_FIXED_CORRUPT      System Fixed area corrupt
*          ERR_SYS_DYN_CORRUPT        System Dynamic area corrupt
*          ERR_WRONG_PHASE            Directive was called before OCEOS initialisation is finished
*          ERR_ID_INVALID              DATAQ ID outside allowed range 0 to 62
*          ERR_ID_WRONG                DATAQ ID >= number of DATAQs
*          ERR_DQ_DATA_BAD            Data pointer is null
*          ERR_SYS_BUSY                Failed to acquire guard
*          ERR_TOO_MANY                DATAQ is full
*          ERR_DQ_JOB_ID_WRONG        Job ID of the task on pending queue is wrong
*          ERR_TA_NOT_FOUND            Timed action index to be removed for job not found
*          ERR_TA_START_FAILED        Timed action re-start failed after job remove from timed action queue
*/
S32_t oceos_dataq_write(
    dataq_t dataq_id, // data queue ID
    void *data        // non-null pointer to data
);
</syntaxhighlight>
<span style="color:#1b7ac2">'''Parameters'''</span><br>
{| class="wikitable"
|-
! Parameter !! Description
|-
| dataq_id || dataq_t with value of Data queue ID
|-
| ptr || void* pointer to application data (non-null pointer)
|}
<span style="color:#1b7ac2">'''Returns'''</span><br>
This function returns an S32_t with a value of OCEOS_SUCCESS (zero) or return code bits set as defined in the table below.
{| class="wikitable"
|-
| WARN_DQ_NOW_FULL            || Warning, DATAQ is full now
|-
| WARN_JOB_NOT_GUARDED        ||
|-
| ERR_SYS_FIXED_CORRUPT      || System Fixed area corrupt
|-
| ERR_SYS_DYN_CORRUPT        || System Dynamic area corrupt
|-
| ERR_WRONG_PHASE            || Directive was called before OCEOS initialisation is finished
|-
| ERR_ID_INVALID              || DATAQ ID outside allowed range 0 to 62
|-
| ERR_ID_WRONG                || DATAQ ID >= number of DATAQs
|-
| ERR_DQ_DATA_BAD            || Data pointer is null
|-
| ERR_SYS_BUSY                || Failed to acquire guard
|-
| ERR_TOO_MANY                || DATAQ is full
|-
| ERR_DQ_JOB_ID_WRONG        || Job ID of the task on pending queue is wrong
|-
| ERR_TA_NOT_FOUND            || Timed action index to be removed for job not found
|-
| ERR_TA_START_FAILED        || Timed action re-start failed after job remove from timed action queue
|}
<span style="color:#1b7ac2">'''Example Usage'''</span><br>
<syntaxhighlight lang="C">
S32_t status;
char[100] message_in;
...
// Put pointer to message_in on data queue s_2
status = oceos_dataq_write(s_2, (void *)message_in);
</syntaxhighlight>
</blockquote>
===<span style="color:#0000ff">oceos_dataq_read_continue()</span>===
<blockquote style="border-left-style: none;">
<span style="color:#1b7ac2">'''Header File'''</span><br>
'''''dataq.h'''''<br>
<span style="color:#1b7ac2">'''Description'''</span><br>
This function returns a pointer from the specified data queue.
<span style="color:#1b7ac2">'''Prototype'''</span><br>
<syntaxhighlight lang="C">
/**
* Read data queue
*
* @param dataq_t dataq_id  Data queue ID
* @param void*  data      Pointer to data
*
* @return  OCEOS_SUCCESS
*          ERR_SYS_FIXED_CORRUPT      System Fixed area corrupt
*          ERR_SYS_DYN_CORRUPT        System Dynamic area corrupt
*          ERR_WRONG_PHASE            Directive was called before OCEOS initialisation is finished
*          ERR_ID_INVALID              DATAQ ID outside allowed range 0 to 62
*          ERR_ID_WRONG                DATAQ ID >= number of DATAQs
*          ERR_SYS_BUSY                Failed to acquire guard
*          ERR_DQ_EMPTY                DATAQ empty(count zero)
*/
S32_t oceos_dataq_read_continue(
    dataq_t dataq_id, // data queue ID
    void* *data        // return data
);
</syntaxhighlight>
<span style="color:#1b7ac2">'''Parameters'''</span><br>
{| class="wikitable"
|-
! Parameter !! Description
|-
| dataq_id || dataq_t with value of Data queue ID
|-
| ptr || void* pointer to store returned data queue pointer removed from the queue
|}
<span style="color:#1b7ac2">'''Returns'''</span><br>
This function returns an S32_t with a value of OCEOS_SUCCESS (zero) or return code bits set as defined in the table below.
{| class="wikitable"
|-
| ERR_SYS_FIXED_CORRUPT      || System Fixed area corrupt
|-
| ERR_SYS_DYN_CORRUPT        || System Dynamic area corrupt
|-
| ERR_WRONG_PHASE            || Directive was called before OCEOS initialisation is finished
|-
| ERR_ID_INVALID              || DATAQ ID outside allowed range 0 to 62
|-
| ERR_ID_WRONG                || DATAQ ID >= number of DATAQs
|-
| ERR_SYS_BUSY                || Failed to acquire guard
|-
| ERR_DQ_EMPTY                || DATAQ empty(count zero)
|}
<span style="color:#1b7ac2">'''Example Usage'''</span><br>
<syntaxhighlight lang="C">
S32_t status;
char *data_ptr;
...
// Read pointer from data queue s_2
status = oceos_dataq_read_continue(s_2, (void *)data_ptr);
</syntaxhighlight>
</blockquote>
===<span style="color:#0000ff">oceos_dataq_read_restart()</span>===
<blockquote style="border-left-style: none;">
<span style="color:#1b7ac2">'''Header File'''</span><br>
'''''dataq.h'''''<br>
<span style="color:#1b7ac2">'''Description'''</span><br>
This function returns a pointer from the specified data queue. If the queue is empty, the job is added top the dataq pending queue. The job will be restarted when data is available.
<span style="color:#1b7ac2">'''Prototype'''</span><br>
<syntaxhighlight lang="C">
/**
* Read data queue next item.
* If dataq is empty, task is put on pending Q for dataq and
* restarted by oceos_dataq_write
*
* @param dataq_id Data queue ID
* @param data    Pointer to return data
*
* @return  OCEOS_SUCCESS
*          ERR_SYS_FIXED_CORRUPT      System Fixed area corrupt
*          ERR_SYS_DYN_CORRUPT        System Dynamic area corrupt
*          ERR_WRONG_PHASE            Directive was called before OCEOS initialisation is finished
*          ERR_ID_INVALID              DATAQ ID outside allowed range 0 to 62
*          ERR_ID_WRONG                DATAQ ID >= number of DATAQs
*          ERR_SYS_BUSY                Failed to acquire guard
*          ERR_DQ_J_START_FROM_TIMOUT  Job started from timeout already, DATAQ empty second time
*          ERR_FAILED                  Should never return this
*/
S32_t oceos_dataq_read_restart(
    dataq_t dataq_id,    // data queue ID
    void* *data          // pointer to return data
);
</syntaxhighlight>
<span style="color:#1b7ac2">'''Parameters'''</span><br>
{| class="wikitable"
|-
! Parameter !! Description
|-
| dataq_id || dataq_t with value of Data queue ID
|-
| ptr || void* pointer to store returned data queue pointer removed from the queue
|}
<span style="color:#1b7ac2">'''Returns'''</span><br>
This function returns an S32_t with a value of OCEOS_SUCCESS (zero) or return code bits set as defined in the table below.
{| class="wikitable"
|-
| ERR_SYS_FIXED_CORRUPT      || System Fixed area corrupt
|-
| ERR_SYS_DYN_CORRUPT        || System Dynamic area corrupt
|-
| ERR_WRONG_PHASE            || Directive was called before OCEOS initialisation is finished
|-
| ERR_ID_INVALID              || DATAQ ID outside allowed range 0 to 62
|-
| ERR_ID_WRONG                || DATAQ ID >= number of DATAQs
|-
| ERR_SYS_BUSY                || Failed to acquire guard
|-
| ERR_DQ_J_START_FROM_TIMOUT  || Job started from timeout already, DATAQ empty second time
|-
| ERR_FAILED                  || Should never return this
|}
<span style="color:#1b7ac2">'''Example Usage'''</span><br>
<syntaxhighlight lang="C">
S32_t status;
char *data_ptr;
...
// Read pointer from data queue s_2 with restart when data is available
status = oceos_dataq_read_restart(s_2, (void *)data_ptr);
</syntaxhighlight>
</blockquote>
===<span style="color:#0000ff">oceos_dataq_read_restart_timeout()</span>===
<blockquote style="border-left-style: none;">
<span style="color:#1b7ac2">'''Header File'''</span><br>
'''''dataq.h'''''<br>
<span style="color:#1b7ac2">'''Description'''</span><br>
This function returns a pointer from the specified data queue. If the queue is empty, the job is added top the dataq pending queue. The job will be restarted either when data is available or the timeout has expired.
<span style="color:#1b7ac2">'''Prototype'''</span><br>
<syntaxhighlight lang="C">
/**
* Read data queue next item.
* If dataq is empty, task is put on pending Q for dataq and
* restarted by oceos_dataq_write or by timeout if timeout != 0
* In order to use this feature timed actions must be configured and
* dataq created with use timeout set to true
*
* @param dataq_id          Data queue ID
* @param data              Pointer to return data
* @param timeout          Timeout, restart time if no entry, 0 => ignore
*
* @return  OCEOS_SUCCESS
*          ERR_SYS_FIXED_CORRUPT      System Fixed area corrupt
*          ERR_SYS_DYN_CORRUPT        System Dynamic area corrupt
*          ERR_WRONG_PHASE            Directive was called before OCEOS initialisation is finished
*          ERR_TA_NOT_INIT            Timed action intialisation is not done and tried to be used; or DATAQ created without timeouts
*          ERR_ID_INVALID              DATAQ ID outside allowed range 0 to 62
*          ERR_ID_WRONG                DATAQ ID >= number of DATAQs
*          ERR_SYS_BUSY                Failed to acquire guard
*          ERR_DQ_EMPTY                DATAQ empty(count zero)
*          ERR_DQ_J_START_FROM_TIMOUT  Job started from timeout already, DATAQ empty second time
*          ERR_TOO_MANY                DATAQ pending queue is full
*          ERR_FAILED                  Should never return this
*/
S32_t oceos_dataq_read_restart_timeout(
    dataq_t dataq_id,  // data queue ID
    void* *data,        // Pointer to return data
    U64_t timeout      // timeout, restart time if no entry, 0 => ignore
);
</syntaxhighlight>
<span style="color:#1b7ac2">'''Parameters'''</span><br>
{| class="wikitable"
|-
! Parameter !! Description
|-
| dataq_id || dataq_t with value of Data queue ID
|-
| ptr || void* pointer to store returned data queue pointer removed from the queue
|-
| timeout || U64_t containing timeout value, restart time if no entry, 0 => ignore
|}
<span style="color:#1b7ac2">'''Returns'''</span><br>
This function returns an S32_t with a value of OCEOS_SUCCESS (zero) or return code bits set as defined in the table below.
{| class="wikitable"
|-
| ERR_SYS_FIXED_CORRUPT      || System Fixed area corrupt
|-
| ERR_SYS_DYN_CORRUPT        || System Dynamic area corrupt
|-
| ERR_WRONG_PHASE            || Directive was called before OCEOS initialisation is finished
|-
| ERR_TA_NOT_INIT            || Timed action intialisation is not done and tried to be used; or DATAQ created without timeouts
|-
| ERR_ID_INVALID              || DATAQ ID outside allowed range 0 to 62
|-
| ERR_ID_WRONG                || DATAQ ID >= number of DATAQs
|-
| ERR_SYS_BUSY                || Failed to acquire guard
|-
| ERR_DQ_EMPTY                || DATAQ empty(count zero)
|-
| ERR_DQ_J_START_FROM_TIMOUT  || Job started from timeout already, DATAQ empty second time
|-
| ERR_TOO_MANY                || DATAQ pending queue is full
|-
| ERR_FAILED                  || Should never return this
|}
<span style="color:#1b7ac2">'''Example Usage'''</span><br>
<syntaxhighlight lang="C">
S32_t status;
char *data_ptr;
...
// Read pointer from data queue s_2 with timeout after 10,000 time units if no data is available
status = oceos_dataq_read_restart_timeout(s_2, (void *)data_ptr, 10000ull);
</syntaxhighlight>
</blockquote>
===<span style="color:#0000ff">oceos_dataq_get_size()</span>===
<blockquote style="border-left-style: none;">
<span style="color:#1b7ac2">'''Header File'''</span><br>
'''''dataq.h'''''<br>
<span style="color:#1b7ac2">'''Description'''</span><br>
This function returns the number of items on the specified data queue.
<span style="color:#1b7ac2">'''Prototype'''</span><br>
<syntaxhighlight lang="C">
/**
* Returns number of items on the data queue with ID
*
* @param dataq_id  DATAQ Id
* @param d_size    Pointer to size holder
*
* @return  OCEOS_SUCCESS
*          ERR_SYS_FIXED_CORRUPT      System Fixed area corrupt
*          ERR_SYS_DYN_CORRUPT        System Dynamic area corrupt
*          ERR_WRONG_PHASE            Directive was called before OCEOS initialisation is finished
*          ERR_ID_INVALID              DATAQ ID outside allowed range 0 to 62
*          ERR_ID_WRONG                DATAQ ID >= number of DATAQs
*          ERR_DQ_DATA_BAD            DATAQ size holder pointer is null
*/
S32_t oceos_dataq_get_size(
    dataq_t dataq_id,  // data queue ID
    U32_t *d_size
);
</syntaxhighlight>
<span style="color:#1b7ac2">'''Parameters'''</span><br>
{| class="wikitable"
|-
! Parameter !! Description
|-
| dataq_id ||  dataq_t with the ID of the data queue (value between 0 and 62)
|-
| d_size || U32_t *d_size pointer to the variable to store the size
|}
<span style="color:#1b7ac2">'''Returns'''</span><br>
This function returns an S32_t with a value of OCEOS_SUCCESS (zero) or return code bits set as defined in the table below.
{| class="wikitable"
|-
| ERR_SYS_FIXED_CORRUPT      || System Fixed area corrupt
|-
| ERR_SYS_DYN_CORRUPT        || System Dynamic area corrupt
|-
| ERR_WRONG_PHASE            || Directive was called before OCEOS initialisation is finished
|-
| ERR_ID_INVALID              || DATAQ ID outside allowed range 0 to 62
|-
| ERR_ID_WRONG                || DATAQ ID >= number of DATAQs
|-
| ERR_DQ_DATA_BAD            || DATAQ size holder pointer is null
|}
<span style="color:#1b7ac2">'''Example Usage'''</span><br>
<syntaxhighlight lang="C">
S32_t status, d_size;
...
// Get the number of entries on data queue d_0
status = oceos_dataq_get_size(d_0, &d_size);
</syntaxhighlight>
</blockquote>
===<span style="color:#0000ff">oceos_dataq_penq_get_size()</span>===
<blockquote style="border-left-style: none;">
<span style="color:#1b7ac2">'''Header File'''</span><br>
'''''dataq.h'''''<br>
<span style="color:#1b7ac2">'''Description'''</span><br>
This function returns number of jobs on the specified data queue pending job's queue.
<span style="color:#1b7ac2">'''Prototype'''</span><br>
<syntaxhighlight lang="C">
/**
* Returns number of jobs on the dataq pending job's queue
*
* @param dataq_id  DATAQ Id
* @param d_size    Pointer to pending queue size holder
*
* @return  OCEOS_SUCCESS
*          ERR_SYS_FIXED_CORRUPT      System Fixed area corrupt
*          ERR_SYS_DYN_CORRUPT        System Dynamic area corrupt
*          ERR_WRONG_PHASE            Directive was called before OCEOS initialisation is finished
*          ERR_ID_INVALID              DATAQ ID outside allowed range 0 to 62
*          ERR_ID_WRONG                DATAQ ID >= number of DATAQs
*          ERR_DQ_DATA_BAD            DATAQ pending size holder pointer is null
*/
S32_t oceos_dataq_penq_get_size(
    dataq_t dataq_id,
    U32_t *d_size
);
</syntaxhighlight>
<span style="color:#1b7ac2">'''Parameters'''</span><br>
{| class="wikitable"
|-
! Parameter !! Description
|-
| dataq_id ||  dataq_t with the ID of the data queue (value between 0 and 62)
|-
| d_jobs || U32_t *d_jobs pointer to the variable to store the number of jobs on the pending queue
|}
<span style="color:#1b7ac2">'''Returns'''</span><br>
This function returns an S32_t with a value of OCEOS_SUCCESS (zero) or return code bits set as defined in the table below.
{| class="wikitable"
|-
| ERR_SYS_FIXED_CORRUPT      || System Fixed area corrupt
|-
| ERR_SYS_DYN_CORRUPT        || System Dynamic area corrupt
|-
| ERR_WRONG_PHASE            || Directive was called before OCEOS initialisation is finished
|-
| ERR_ID_INVALID              || DATAQ ID outside allowed range 0 to 62
|-
| ERR_ID_WRONG                || DATAQ ID >= number of DATAQs
|-
| ERR_DQ_DATA_BAD            || DATAQ pending size holder pointer is null
|}
<span style="color:#1b7ac2">'''Example Usage'''</span><br>
<syntaxhighlight lang="C">
S32_t status, d_jobs;
...
// Get the number of jobs the the pending jubs queue for data queue d_1
status = oceos_dataq_penq_get_size(d_1, &d_jobs);
</syntaxhighlight>
</blockquote>
===<span style="color:#0000ff">oceos_dataq_clear()</span>===
<blockquote style="border-left-style: none;">
<span style="color:#1b7ac2">'''Header File'''</span><br>
'''''dataq.h'''''<br>
<span style="color:#1b7ac2">'''Description'''</span><br>
This function clears the specified data queue including pending jobs for that queue.
<span style="color:#1b7ac2">'''Prototype'''</span><br>
<syntaxhighlight lang="C">
/**
* Clears data queue and
* frees tasks on pending queue
*
* @param dataq_t dataq_id Data queue ID
*
* @return  OCEOS_SUCCESS
*          ERR_SYS_FIXED_CORRUPT      System Fixed area corrupt
*          ERR_SYS_DYN_CORRUPT        System Dynamic area corrupt
*          ERR_WRONG_PHASE            Directive was called before OCEOS initialisation is finished
*          ERR_ID_INVALID              DATAQ ID outside allowed range 0 to 62
*          ERR_ID_WRONG                DATAQ ID >= number of DATAQs
*          ERR_SYS_BUSY                Failed to acquire guard
*          ERR_DQ_JOB_ID_WRONG        Job ID of the task on DATAQ pending queue is wrong
*          ERR_TA_NOT_FOUND            Timed action index to be removed for job not found
*          ERR_TA_START_FAILED        Timed action re-start failed after job remove from timed action queue
*/
S32_t  oceos_dataq_clear(
    dataq_t dataq_id    // data queue ID
);
</syntaxhighlight>
<span style="color:#1b7ac2">'''Parameters'''</span><br>
{| class="wikitable"
|-
! Parameter !! Description
|-
| dataq_id ||  dataq_t with the ID of the data queue to be cleared (value between 0 and 62)
|}
<span style="color:#1b7ac2">'''Returns'''</span><br>
This function returns an S32_t with a value of OCEOS_SUCCESS (zero) or return code bits set as defined in the table below.
{| class="wikitable"
|-
| ERR_SYS_FIXED_CORRUPT      || System Fixed area corrupt
|-
| ERR_SYS_DYN_CORRUPT        || System Dynamic area corrupt
|-
| ERR_WRONG_PHASE            || Directive was called before OCEOS initialisation is finished
|-
| ERR_ID_INVALID              || DATAQ ID outside allowed range 0 to 62
|-
| ERR_ID_WRONG                || DATAQ ID >= number of DATAQs
|-
| ERR_SYS_BUSY                || Failed to acquire guard
|-
| ERR_DQ_JOB_ID_WRONG        || Job ID of the task on DATAQ pending queue is wrong
|-
| ERR_TA_NOT_FOUND            || Timed action index to be removed for job not found
|-
| ERR_TA_START_FAILED        || Timed action re-start failed after job remove from timed action queue
|}
<span style="color:#1b7ac2">'''Example Usage'''</span><br>
<syntaxhighlight lang="C">
S32_t status;
...
// Clear data queue d_1
status = oceos_dataq_penq_get_size(d_1);
</syntaxhighlight>
</blockquote>


===<span style="color:#0000ff">blank_function()</span>===
===<span style="color:#0000ff">blank_function()</span>===

Revision as of 17:24, 1 May 2024

Next Section

blank_function()

Header File
header.h

Description
This function does xyz...

Prototype

S32_t oceosmp_blank(
    U32_t param
);

Parameters

Parameter Description
param parameter to function

Returns
This function returns an S32_t with a value of OCEOS_SUCCESS (zero) or return code bits set as defined in the table below.

Error bit  !! Description

Example Usage

S32_t status, param;
...
// Do xyz
status = oceosmp_blank(param));