Interrupt management functions – Comtrol eCos User Manual
Page 479

Chapter 32. µITRON API
•
dispatching is enabled in any call which can sleep, or E_CTX
•
tmout must be positive, otherwise E_PAR
•
pk_cxxx pointers in
cre_xxx()
must be valid pointers, or E_PAR
•
return value pointer in
ref_xxx()
is valid pointer, or E_PAR
•
flag wait pattern must be non-zero, and mode must be valid, or E_PAR
•
return value pointer in flag wait calls is a valid pointer, or E_PAR
The following conditions are checked for, and can return error codes, regardless of the setting of
CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS
:
•
When create and delete functions
cre_xxx()
and
del_xxx()
are supported, all calls which use a valid object
ID number check that the object exists. If not, E_NOEXS is returned.
•
In create functions
cre_xxx()
, when supported, if the object already exists, then E_OBJ
•
In any call which can sleep, such as
twai_sem()
: return codes E_TMOUT, E_RLWAI, E_DLT or of course
E_OK are returned depending on the reason for terminating the sleep
•
In polling functions such as
preq_sem()
return codes E_TMOUT or E_OK are returned depending on the state
of the synchronization object
•
In creation functions, the attributes must be compatible with the selected underlying kernel configuration: in
cre_sem() pk_csem-
>
sematr
must be equal to
TA_TFIFO
else E_RSATR.
•
In
cre_flg() pk_cflg-
>
flgatr
must be either
TA_WMUL
or
TA_WSGL
else
E_RSATR
.
•
In
cre_mbx() pk_cmbx-
>
mbxatr
must be
TA_TFIFO
+
TA_MFIFO
else E_RSATR.
Extended Synchronization and Communication Functions
None of these functions are supported in this release.
Interrupt management functions
These functions are fully supported in this release:
void
ret_int
( void )
ER
loc_cpu
( void )
ER
unl_cpu
( void )
ER
dis_int
(
UINT eintno )
ER
ena_int
(
UINT eintno )
void
ret_wup
(
ID tskid )
375