gtpc2m0c | C/C++ Language Support User's Guide |
This function adds a block to a specified TPF system task dispatch
list.
Format
#include <sysapi.h>
void addlc(void *block,
enum addlc_addr_space block_address_space,
enum addlc_list list_name,
enum addlc_position where_to_add,
void *post_interrupt_address);
- block
- A pointer to a TPF storage block.
- block_address_space
- Whether the block address is an EVM or SVM address. Valid values
for this parameter are:
- ADDLC_BLK_EVM
- The block address is an EVM address.
- ADDLC_BLK_SVM
- The block address is an SVM address.
- list_name
- The name of the task dispatch list to which the block will be
added. Valid values for this parameter are:
- ADDLC_READY
- The block will be added to the ready list.
- ADDLC_INPUT
- The block will be added to the input list.
- ADDLC_DEFER
- The block will be added to the defer list.
- where_to_add
- Where in the list the block will be added. Valid values for this
parameter are:
- ADDLC_TOP
- The block will be added to the top of the task dispatch list.
- ADDLC_BOTTOM
- The block will be added to the bottom of the task dispatch list.
- post_interrupt_address
- Pointer to the post-interrupt address.
Normal Return
Void.
Error Return
None.
Programming Considerations
- The addlc function disconnects the block from the ECB private
area (EPA) if block_address_space is ADDLC_EVM.
On return, the program must clear the block held indicator from the core block
reference word (CBRW) to prevent double release problems in EXITC
processing.
Examples
The following example adds a block to the top of the ready list, assuming
ebw000 has the block SVM address and ebw004 has the post-interrupt
address:
#include <sysapi.h>
addlc(*(void **)&ecbptr()->ebw000,
ADDLC_BLK_SVM,
ADDLC_READY,
ADDLC_TOP,
*(void **)&ecbptr()->ebw004);
Related Information
None.