mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-08-22 23:04:01 +08:00
2010-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, configure.ac, index.html.in, develenv/direct.t, posix_users/gen_size_report, started/nextstep.t, started_ada/buildada.t, user/conf.t, user/object.t: Remove ITRON API. * itron3.0/.cvsignore, itron3.0/Makefile.am, itron3.0/config.t, itron3.0/eventflags.t, itron3.0/fixedblock.t, itron3.0/gen_all, itron3.0/gen_section, itron3.0/gen_status_shell, itron3.0/interrupt.t, itron3.0/itron.texi, itron3.0/mailbox.t, itron3.0/memorypool.t, itron3.0/msgbuffer.t, itron3.0/network.t, itron3.0/preface.texi, itron3.0/rendezvous.t, itron3.0/semaphore.t, itron3.0/stamp-vti, itron3.0/status.t, itron3.0/task.t, itron3.0/tasksync.t, itron3.0/time.t, itron3.0/version.texi: Removed.
This commit is contained in:
@@ -1,3 +1,17 @@
|
||||
2010-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* Makefile.am, configure.ac, index.html.in, develenv/direct.t,
|
||||
posix_users/gen_size_report, started/nextstep.t,
|
||||
started_ada/buildada.t, user/conf.t, user/object.t: Remove ITRON API.
|
||||
* itron3.0/.cvsignore, itron3.0/Makefile.am, itron3.0/config.t,
|
||||
itron3.0/eventflags.t, itron3.0/fixedblock.t, itron3.0/gen_all,
|
||||
itron3.0/gen_section, itron3.0/gen_status_shell,
|
||||
itron3.0/interrupt.t, itron3.0/itron.texi, itron3.0/mailbox.t,
|
||||
itron3.0/memorypool.t, itron3.0/msgbuffer.t, itron3.0/network.t,
|
||||
itron3.0/preface.texi, itron3.0/rendezvous.t, itron3.0/semaphore.t,
|
||||
itron3.0/stamp-vti, itron3.0/status.t, itron3.0/task.t,
|
||||
itron3.0/tasksync.t, itron3.0/time.t, itron3.0/version.texi: Removed.
|
||||
|
||||
2010-06-16 Joel Sherrill <joel.sherrilL@OARcorp.com>
|
||||
|
||||
PR 1568/doc
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ ACLOCAL_AMFLAGS = -I ../aclocal
|
||||
# + tools, common and images are shared across many documents
|
||||
|
||||
SUBDIRS = tools started user bsp_howto porting develenv posix_users \
|
||||
posix1003.1 filesystem itron3.0 networking ada_user started_ada \
|
||||
posix1003.1 filesystem networking ada_user started_ada \
|
||||
new_chapters relnotes cpu_supplement shell
|
||||
|
||||
if USE_HTML
|
||||
|
||||
@@ -206,7 +206,6 @@ networking/Makefile
|
||||
posix_users/Makefile
|
||||
posix1003.1/Makefile
|
||||
filesystem/Makefile
|
||||
itron3.0/Makefile
|
||||
ada_user/Makefile
|
||||
started_ada/Makefile
|
||||
relnotes/Makefile
|
||||
|
||||
+3
-19
@@ -404,10 +404,6 @@ This directory contains header files which are private to
|
||||
RTEMS and not considered to be owned by any other component
|
||||
in the CPU Kit.
|
||||
|
||||
@item $@{RTEMS_ROOT@}/cpukit/itron/
|
||||
This directory contains the implementation of the
|
||||
ITRON API.
|
||||
|
||||
@item $@{RTEMS_ROOT@}/cpukit/libblock/
|
||||
This directory contains support code for using
|
||||
Block Devices such as hard drives, floppies, and
|
||||
@@ -476,8 +472,8 @@ initialization, shutdown, and IO services.
|
||||
@item $@{RTEMS_ROOT@}/cpukit/score/
|
||||
This directory contains the "SuperCore" of RTEMS.
|
||||
All APIs are implemented in terms of SuperCore services.
|
||||
For example, Classic API tasks, POSIX threads, and ITRON
|
||||
tasks are all implemented in terms of SuperCore threads.
|
||||
For example, Classic API tasks and POSIX threads
|
||||
are all implemented in terms of SuperCore threads.
|
||||
This provides a common infrastructure and a high degree
|
||||
of interoperability between the APIs. For example,
|
||||
services from all APIs may be used by any task/thread
|
||||
@@ -529,10 +525,6 @@ they may be located:
|
||||
|
||||
@table @code
|
||||
|
||||
@item $@{RTEMS_ROOT@}/testsuites/itrontests/
|
||||
This directory contains the test suite for the
|
||||
RTEMS ITRON API.
|
||||
|
||||
@item $@{RTEMS_ROOT@}/testsuites/libtests/
|
||||
This directory contains the test suite for the
|
||||
various RTEMS support components.
|
||||
@@ -564,16 +556,12 @@ executive code. With the addition of multiple APIs,
|
||||
this is no longer the case as some SuperCore functionality
|
||||
is not available through the Classic API. Thus
|
||||
some functionality in the SuperCore is only covered
|
||||
by tests in the POSIX API and ITRON API Test Suites.
|
||||
by tests in the POSIX API Test Suites.
|
||||
|
||||
@item $@{RTEMS_ROOT@}/testsuites/support/
|
||||
This directory contains support software and header files
|
||||
for the various test suites.
|
||||
|
||||
@item $@{RTEMS_ROOT@}/testsuites/tmitrontests/
|
||||
This directory contains the timing test suite for
|
||||
the RTEMS ITRON API.
|
||||
|
||||
@item $@{RTEMS_ROOT@}/testsuites/tmtests/
|
||||
This directory contains the timing test suite for
|
||||
the RTEMS Classic API. This include tests that
|
||||
@@ -651,10 +639,6 @@ information required by those implementing filesystems.
|
||||
This directory contains the source code for the graphics
|
||||
used in the HTML version of the RTEMS Documentation.
|
||||
|
||||
@item $@{RTEMS_ROOT@}/doc/itron3.0/
|
||||
This directory contains the source code for the
|
||||
@cite{RTEMS ITRON 3.0 API User's Guide}.
|
||||
|
||||
@item $@{RTEMS_ROOT@}/doc/networking/
|
||||
This directory contains the source code for the
|
||||
@cite{RTEMS Network Supplement}.
|
||||
|
||||
@@ -40,16 +40,6 @@
|
||||
RTEMS POSIX API User's Guide</A>
|
||||
</LI>
|
||||
|
||||
<LI><A HREF="../pdf/itron.pdf">
|
||||
<IMG SRC="images/pdf1.gif" HEIGHT=18 WIDTH=16></A>
|
||||
<A HREF="../ps/itron.ps">
|
||||
<IMG SRC="images/ps.gif" HEIGHT=18 WIDTH=16></A>
|
||||
<A HREF="../dvi/itron.dvi">
|
||||
<IMG SRC="images/dvi.gif" HEIGHT=18 WIDTH=16></A>
|
||||
<A HREF="itron/index.html">
|
||||
RTEMS ITRON 3.0 API User's Guide</A>
|
||||
</LI>
|
||||
|
||||
<LI><A HREF="../pdf/networking.pdf">
|
||||
<IMG SRC="images/pdf1.gif" HEIGHT=18 WIDTH=16></A>
|
||||
<A HREF="../ps/networking.ps">
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
config.texi
|
||||
eventflags.texi
|
||||
fixedblock.texi
|
||||
index.html
|
||||
interrupt.texi
|
||||
itron
|
||||
itron-?
|
||||
itron-??
|
||||
itron.aux
|
||||
itron.cp
|
||||
itron.dvi
|
||||
itron.fn
|
||||
itron*.html
|
||||
itron.info
|
||||
itron.ky
|
||||
itron.log
|
||||
itron.pdf
|
||||
itron.pg
|
||||
itron.ps
|
||||
itron.toc
|
||||
itron.tp
|
||||
itron.vr
|
||||
mailbox.texi
|
||||
Makefile
|
||||
Makefile.in
|
||||
mdate-sh
|
||||
memorypool.texi
|
||||
msgbuffer.texi
|
||||
network.texi
|
||||
rendezvous.texi
|
||||
rtems_footer.html
|
||||
rtems_header.html
|
||||
semaphore.texi
|
||||
status.texi
|
||||
tasksync.texi
|
||||
task.texi
|
||||
time.texi
|
||||
@@ -1,102 +0,0 @@
|
||||
#
|
||||
# COPYRIGHT (c) 1988-2002.
|
||||
# On-Line Applications Research Corporation (OAR).
|
||||
# All rights reserved.
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
PROJECT = itron
|
||||
|
||||
include $(top_srcdir)/project.am
|
||||
include $(top_srcdir)/main.am
|
||||
|
||||
GENERATED_FILES = status.texi task.texi tasksync.texi semaphore.texi \
|
||||
eventflags.texi mailbox.texi msgbuffer.texi rendezvous.texi \
|
||||
interrupt.texi memorypool.texi fixedblock.texi time.texi config.texi \
|
||||
network.texi
|
||||
|
||||
COMMON_FILES += $(top_srcdir)/common/cpright.texi
|
||||
|
||||
FILES = preface.texi
|
||||
|
||||
info_TEXINFOS = itron.texi
|
||||
itron_TEXINFOS = $(FILES) $(COMMON_FILES) $(GENERATED_FILES)
|
||||
|
||||
status.texi: status.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
task.texi: task.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
tasksync.texi: tasksync.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
semaphore.texi: semaphore.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
eventflags.texi: eventflags.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
mailbox.texi: mailbox.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
msgbuffer.texi: msgbuffer.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
rendezvous.texi: rendezvous.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
interrupt.texi: interrupt.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
memorypool.texi: memorypool.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
fixedblock.texi: fixedblock.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
time.texi: time.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
config.texi: config.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
network.texi: network.t
|
||||
$(BMENU2) -p "" \
|
||||
-u "Top" \
|
||||
-n "" < $< > $@
|
||||
|
||||
noinst_SCRIPTS = gen_all gen_section gen_status_shell
|
||||
|
||||
EXTRA_DIST = config.t eventflags.t fixedblock.t interrupt.t mailbox.t \
|
||||
memorypool.t msgbuffer.t network.t rendezvous.t semaphore.t status.t \
|
||||
task.t tasksync.t time.t $(noinst_SCRIPTS)
|
||||
|
||||
CLEANFILES += itron.info itron.info-?
|
||||
@@ -1,187 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c This is the chapter from the RTEMS ITRON User's Guide that
|
||||
@c documents the services provided by the system
|
||||
@c manager.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter System Manager
|
||||
|
||||
@section Introduction
|
||||
|
||||
The
|
||||
system manager is ...
|
||||
|
||||
The services provided by the system manager are:
|
||||
|
||||
@itemize @bullet
|
||||
@item @code{get_ver} - Get Version Information
|
||||
@item @code{ref_sys} - Reference Semaphore Status
|
||||
@item @code{ref_cfg} - Reference Configuration Information
|
||||
@item @code{def_svc} - Define Extended SVC Handler
|
||||
@item @code{def_exc} - Define Exception Handler
|
||||
@end itemize
|
||||
|
||||
@section Background
|
||||
|
||||
@section Operations
|
||||
|
||||
@section System Calls
|
||||
|
||||
This section details the system manager's services.
|
||||
A subsection is dedicated to each of this manager's services
|
||||
and describes the calling sequence, related constants, usage,
|
||||
and status codes.
|
||||
|
||||
|
||||
@c
|
||||
@c get_ver
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection get_ver - Get Version Information
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER get_ver(
|
||||
T_VER *pk_ver
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c ref_sys
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection ref_sys - Reference Semaphore Status
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ref_sys(
|
||||
T_RSYS *pk_rsys
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c ref_cfg
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection ref_cfg - Reference Configuration Information
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ref_cfg(
|
||||
T_RCFG *pk_rcfg
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c def_svc
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection def_svc - Define Extended SVC Handler
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER def_svc(
|
||||
FN s_fncd,
|
||||
T_DSVC *pk_dsvc
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c def_exc
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection def_exc - Define Exception Handler
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER def_exc(
|
||||
UINT exckind,
|
||||
T_DEXC *pk_dexc
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,389 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c This is the chapter from the RTEMS ITRON User's Guide that
|
||||
@c documents the services provided by the fixed block
|
||||
@c manager.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter Fixed Block Manager
|
||||
|
||||
@section Introduction
|
||||
|
||||
The fixed block manager provides functions for creating, deleting, getting, polling, getting with timeout, releasing, and referencing the fixed-sized memorypool. This manager is based on ITRON 3.0 standard.
|
||||
|
||||
The services provided by the fixed block manager are:
|
||||
|
||||
@itemize @bullet
|
||||
@item @code{cre_mpf} - Create Fixed-Size Memorypool
|
||||
@item @code{del_mpf} - Delete Fixed-Size Memorypool
|
||||
@item @code{get_blf} - Get Fixed-Size Memory Block
|
||||
@item @code{pget_blf} - Poll and Get Fixed-Size Memory Block
|
||||
@item @code{tget_blf} - Get Fixed-Size Memory Block with Timeout
|
||||
@item @code{rel_blf} - Release Fixed-Size Memory Block
|
||||
@item @code{ref_mpf} - Reference Fixed-Size Memorypool Status
|
||||
@end itemize
|
||||
|
||||
@section Background
|
||||
|
||||
@section Operations
|
||||
|
||||
@section System Calls
|
||||
|
||||
This section details the fixed block manager's services.
|
||||
A subsection is dedicated to each of this manager's services
|
||||
and describes the calling sequence, related constants, usage,
|
||||
and status codes.
|
||||
|
||||
|
||||
@c
|
||||
@c cre_mpf
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection cre_mpf - Create Fixed-Size Memorypool
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER cre_mpf(
|
||||
ID mpfid,
|
||||
T_CMPF *pk_cmpf
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_NOMEM} - Insufficient memory (Memory for control block and/or for
|
||||
memorypool cannot be allocated)
|
||||
|
||||
@code{E_ID} - Invalid ID number (mpfid was invalid or could not be used)
|
||||
|
||||
@code{E_RSATR} - Reserved attribute (mpfatr was invalid or could not be used)
|
||||
|
||||
@code{E_OBJ} - Invalid object state (a memorypool of the same ID already exists)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mpfid less than -4 was specified from
|
||||
a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_PAR} - Parameter error (pk_cmpf is invalid or mpfsz and/or blfsz is
|
||||
negative or invalid)
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
This system call creates a fixed-size memorypool having the ID number specified by mpfid. Specifically, a memory area of a size based on values of mpfcnt and blfsz is reserved for use as a memorypool. A control block for the memorypool being created is also allocated. The get_blf system call specifying the memorypool created by this call can be issued to allocate memory blocks of the size given by blfsz (in bytes).
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
The memory area required for creating memorypools and for allocating control blocks for each object is allocated while system initialization. Associated parameters are therefore specified at system configuration.
|
||||
|
||||
@c
|
||||
@c del_mpf
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection del_mpf - Delete Fixed-Size Memorypool
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER del_mpf(
|
||||
ID mpfid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID number (mpfid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the memorypool specified by mpfid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mpfid less than -4 was specified from a user task. This is implementation dependent.)
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
This system call deletes the fixed-size memorypool specified by mpfid. No check or error report is performed even if there are tasks using memory from the memorypool to be deleted. This system call completes normally even if some of the memory blocks are not returned. Issuing this system call causes memory used for the control block of the associated memorypool and the memory area making up the memorypool itself to be released. After this system call is invoked, another memorypool having the same ID number can be created. This system call will complete normally even if there are tasks waiting to get memory blocks from the memorypool. In that case, an E_DLT error will be returned to each waiting task.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
When a memorypool being waited for by more than one tasks is deleted, the order of tasks on the ready queue after the WAIT state is cleared is implementation dependent in the case of tasks having the same priority.
|
||||
|
||||
|
||||
@c
|
||||
@c get_blf
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection get_blf - Get Fixed-Size Memory Block
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER get_blf(
|
||||
VP *p_blf,
|
||||
ID mpfid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID number (mpfid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the memorypool specified by mpfid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mpfid less than -4 was specified from
|
||||
a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_PAR} - Parameter error (tmout is -2 or less)
|
||||
|
||||
@code{E_DLT} - The object being waited for was deleted (the specified memorypool
|
||||
was deleted while waiting)
|
||||
|
||||
@code{E_RLWAI} - WAIT state was forcibly released (rel_wai was received while
|
||||
waiting)
|
||||
|
||||
@code{E_TMOUT} - Polling failure or timeout exceeded
|
||||
|
||||
@code{E_CTX} - Context error (issued from task-independent portions or a
|
||||
task in dispatch disabled state; implementation dependent for pget_blf and tget_blf(tmout=TMO_POL))
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
A memory block is allocated from the fixed-size memorypool specified by mpfid. The start address of the memory block allocated is returned to blf. The size of the memory block allocated is specified by the blfsz parameter when the fixed-size memorypool was created. The allocated memory block is not cleared to zero. The contents of the allocated memory block are undefined. If the memory block cannot be obtained from the specified memorypool when get_blf is issued, the task issuing get_blf will be placed on the memory allocation queue of the specified memorypool, and wait until it can get the memory it requires. If the object being waited for is deleted (the specified memorypool is deleted while waiting), an E_DLT error will be returned.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
NONE
|
||||
|
||||
|
||||
@c
|
||||
@c pget_blf
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection pget_blf - Poll and Get Fixed-Size Memory Block
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ercd =pget_blf(
|
||||
VP *p_blf,
|
||||
ID mpfid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID number (mpfid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the memorypool specified by mpfid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mpfid less than -4 was specified from
|
||||
a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_PAR} - Parameter error (tmout is -2 or less)
|
||||
|
||||
@code{E_DLT} - The object being waited for was deleted (the specified memorypool
|
||||
was deleted while waiting)
|
||||
|
||||
@code{E_RLWAI} - WAIT state was forcibly released (rel_wai was received while
|
||||
waiting)
|
||||
|
||||
@code{E_TMOUT} - Polling failure or timeout exceeded
|
||||
|
||||
@code{E_CTX} - Context error (issued from task-independent portions or a
|
||||
task in dispatch disabled state; implementation dependent for pget_blf and tget_blf(tmout=TMO_POL))
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
The pget_blf system call has the same function as get_blf except for the waiting feature. Pget_blf polls whether or not the task should wait if get_blf is executed. The meaning of parameters to pget_blf are the same with get_blf. The specific operations by pget_blf are as follows.
|
||||
|
||||
- If there is a free memory block available, processing is the same as
|
||||
get_blf: that is, the requested memory is allocated and the system call
|
||||
completes normally.
|
||||
|
||||
- If there is no free memory block, an E_TMOUT error is returned to
|
||||
indicate polling failed and the system call finishes. Unlike get_blf,
|
||||
the issuing task does not wait in this case. Also, the issuing task
|
||||
does not get any memory.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
NONE
|
||||
|
||||
|
||||
@c
|
||||
@c tget_blf
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection tget_blf - Get Fixed-Size Memory Block with Timeout
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ercd =tget_blf(
|
||||
VP *p_blf,
|
||||
ID mpfid,
|
||||
TMO tmout
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID number (mpfid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the memorypool specified by mpfid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mpfid less than -4 was specified from
|
||||
a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_PAR} - Parameter error (tmout is -2 or less)
|
||||
|
||||
@code{E_DLT} - The object being waited for was deleted (the specified memorypool
|
||||
was deleted while waiting)
|
||||
|
||||
@code{E_RLWAI} - WAIT state was forcibly released (rel_wai was received while
|
||||
waiting)
|
||||
|
||||
@code{E_TMOUT} - Polling failure or timeout exceeded
|
||||
|
||||
@code{E_CTX} - Context error (issued from task-independent portions or a
|
||||
task in dispatch disabled state; implementation dependent for pget_blf and tget_blf(tmout=TMO_POL))
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
The tget_blf system call has the same function as get_blf with an additional timeout feature. A maximum wait time (timeout value) can be specified using the parameter tmout. When a timeout is specified, a timeout error, E_TMOUT, will result and the system call will finish if the period specified by tmout elapses without conditions for releasing wait being satisfied (i.e. without free memory becoming available).
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
NONE
|
||||
|
||||
@c
|
||||
@c rel_blf
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection rel_blf - Release Fixed-Size Memory Block
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER rel_blf(
|
||||
ID mpfid,
|
||||
VP blf
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID number (mpfid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the memorypool specified by mpfid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mpfid less than -4 was specified from
|
||||
a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_PAR} - Parameter error (blf is invalid or an attempt was made to return
|
||||
the memory block to the wrong memorypool)
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
This system call releases the memory block specified by blf and returns it to the fixed-size memorypool specified by mpfid. Executing rel_blf allows memory to be allocated to the next task waiting for memory allocation from the memorypool given by mpfid, thus releasing that task from its WAIT state.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
The fixed-size memorypool to which the memory block is returned must be the same memorypool from which it was originally allocated. An E_PAR error will result if an attempt is made to return a memory block to another memorypool than that from which it was originally allocated.
|
||||
|
||||
@c
|
||||
@c ref_mpf
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection ref_mpf - Reference Fixed-Size Memorypool Status
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ref_mpf(
|
||||
T_RMPF *pk_rmpf,
|
||||
ID mpfid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID number (mpfid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist \(the memorypool specified by mpfid does
|
||||
not exist.)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mpfid less than -4 was specified from
|
||||
a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_PAR} - Parameter error (the packet address for the return parameters
|
||||
could not be used)
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
This system call refers to the state of the fixed-size memorypool specified by mpfid, and returns the current number of free blocks (frbcnt), information of a task waiting to be allocated memory (wtsk), and its extended information (exinf). Wtsk indicates whether or not there is a task waiting to be allocated memory from the fixed-size memorypool specified. If there is no waiting task, wtsk is returned as FALSE = 0. If there is a waiting task, wtsk is returned as a value other than 0.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
While the frsz return parameter of ref_mpl returns the total size of free memory, the frbcnt return parameter of ref_mpf returns the number of free blocks.
|
||||
|
||||
Depending on the implementation, additional information besides wtsk and frbcnt (such as memorypool attributes, mpfatr) may also be referred.
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
for i in config eventflags fixedblock interrupt mailbox memorypool msgbuffer network rendezvous task tasksync time
|
||||
do
|
||||
sh ./gen_section $i | tr -d "\r" >${i}.t
|
||||
done
|
||||
@@ -1,191 +0,0 @@
|
||||
#
|
||||
# This shell script generates the starting template for a manager chapter.
|
||||
#
|
||||
|
||||
|
||||
# Set this based on which chapter you want to generate a template for.
|
||||
chapter=$1
|
||||
|
||||
case ${chapter} in
|
||||
task)
|
||||
CHAPTER_CAPS="Task"
|
||||
CHAPTER_LOWER="task"
|
||||
ROUTINES=" cre_tsk del_tsk sta_tsk ext_tsk exd_tsk ter_tsk \
|
||||
dis_dsp ena_dsp chg_pri rot_rdq rel_wai get_tid ref_tsk"
|
||||
;;
|
||||
|
||||
tasksync)
|
||||
CHAPTER_CAPS="Task-Dependent Synchronization"
|
||||
CHAPTER_LOWER="task-dependent synchronization"
|
||||
ROUTINES=" sus_tsk rsm_tsk frsm_tsk \
|
||||
slp_tsk tslp_tsk wup_tsk can_wup"
|
||||
;;
|
||||
|
||||
semaphore)
|
||||
CHAPTER_CAPS="Semaphore"
|
||||
CHAPTER_LOWER="semaphore"
|
||||
ROUTINES="cre_sem del_sem sig_sem wai_sem preq_sem twai_sem ref_sem "
|
||||
;;
|
||||
|
||||
eventflags)
|
||||
CHAPTER_CAPS="Eventflags"
|
||||
CHAPTER_LOWER="eventflags"
|
||||
ROUTINES=" cre_flg del_flg set_flg clr_flg wai_flg pol_flg \
|
||||
twai_flg ref_flg "
|
||||
;;
|
||||
|
||||
mailbox)
|
||||
CHAPTER_CAPS="Mailbox"
|
||||
CHAPTER_LOWER="mailbox"
|
||||
ROUTINES="cre_mbx del_mbx snd_msg rcv_msg prcv_msg trcv_msg ref_mbx"
|
||||
;;
|
||||
|
||||
msgbuffer)
|
||||
CHAPTER_CAPS="Message Buffer"
|
||||
CHAPTER_LOWER="message buffer"
|
||||
ROUTINES=" cre_mbf del_mbf snd_mbf psnd_mbf tsnd_mbf rcv_mbf prcv_mbf \
|
||||
trcv_mbf ref_mbf "
|
||||
;;
|
||||
|
||||
rendezvous)
|
||||
CHAPTER_CAPS="Rendezvous"
|
||||
CHAPTER_LOWER="rendezvous"
|
||||
ROUTINES=" cre_por del_por cal_por pcal_por tcal_por acp_por pacp_por \
|
||||
tacp_por fwd_por rpl_rdv ref_por"
|
||||
;;
|
||||
|
||||
interrupt)
|
||||
CHAPTER_CAPS="Interrupt"
|
||||
CHAPTER_LOWER="interrupt"
|
||||
ROUTINES=" def_int ret_int ret_wup loc_cpu unl_cpu dis_int ena_int
|
||||
chg_iXX ref_iXX"
|
||||
;;
|
||||
|
||||
memorypool)
|
||||
CHAPTER_CAPS="Memory Pool"
|
||||
CHAPTER_LOWER="memory pool"
|
||||
ROUTINES=" cre_mpl del_mpl get_blk pget_blk tget_blk rel_blk ref_mpl"
|
||||
;;
|
||||
|
||||
fixedblock)
|
||||
CHAPTER_CAPS="Fixed Block"
|
||||
CHAPTER_LOWER="fixed block"
|
||||
ROUTINES=" cre_mpf del_mpf get_blf pget_blf tget_blf rel_blf ref_mpf"
|
||||
;;
|
||||
|
||||
|
||||
time)
|
||||
CHAPTER_CAPS="Time"
|
||||
CHAPTER_LOWER="time"
|
||||
ROUTINES=" get_tim set_tim dly_tsk \
|
||||
def_cyc act_cyc ref_cyc \
|
||||
def_alm ref_alm ret_tmr"
|
||||
;;
|
||||
|
||||
config)
|
||||
CHAPTER_CAPS="System"
|
||||
CHAPTER_LOWER="system"
|
||||
ROUTINES=" get_ver ref_sys ref_cfg def_svc def_exc"
|
||||
;;
|
||||
|
||||
network)
|
||||
CHAPTER_CAPS="Network Support"
|
||||
CHAPTER_LOWER="network support"
|
||||
ROUTINES=" nrea_dat nwri_dat nget_nod nget_ver"
|
||||
;;
|
||||
psxtimer)
|
||||
CHAPTER_CAPS="Timer"
|
||||
CHAPTER_LOWER="timer"
|
||||
ROUTINES="timer_create timer_delete timer_settime timer_gettime timer_getoverrun"
|
||||
;;
|
||||
*)
|
||||
echo "Unknown chapter name"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "x${CHAPTER_CAPS}" = "x" -o "x${CHAPTER_LOWER}" = "x" \
|
||||
-o "x${ROUTINES}" = "x" ] ; then
|
||||
echo "initialization problem"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "@c"
|
||||
echo "@c This is the chapter from the RTEMS ITRON User's Guide that"
|
||||
echo "@c documents the services provided by the ${CHAPTER_LOWER}"
|
||||
echo "@c manager."
|
||||
echo "@c"
|
||||
echo "@c \$Id\$"
|
||||
echo "@c"
|
||||
echo ""
|
||||
echo "@chapter ${CHAPTER_CAPS}" Manager
|
||||
echo ""
|
||||
echo "@section Introduction"
|
||||
echo ""
|
||||
echo "The "
|
||||
echo "${CHAPTER_LOWER} manager is ..."
|
||||
echo ""
|
||||
echo "The services provided by the ${CHAPTER_LOWER} manager are:"
|
||||
echo ""
|
||||
echo "@itemize @bullet"
|
||||
|
||||
for routine in ${ROUTINES}
|
||||
do
|
||||
description=`grep " ${routine} " ../../itron_spec/itron3-1.txt | grep "]" | cut -d']' -f2 `
|
||||
description=`echo ${description}`
|
||||
echo "@item @code{${routine}} - ${description}"
|
||||
done
|
||||
echo "@end itemize"
|
||||
|
||||
echo ""
|
||||
echo "@section Background"
|
||||
echo ""
|
||||
echo "@section Operations"
|
||||
echo ""
|
||||
echo "@section System Calls"
|
||||
echo ""
|
||||
echo "This section details the ${CHAPTER_LOWER} manager's services."
|
||||
echo "A subsection is dedicated to each of this manager's services"
|
||||
echo "and describes the calling sequence, related constants, usage,"
|
||||
echo "and status codes."
|
||||
echo ""
|
||||
|
||||
for routine in ${ROUTINES}
|
||||
do
|
||||
description=`grep ${routine} ../../itron_spec/itron3-1.txt | grep "]" | cut -d']' -f2`
|
||||
description=`echo -n ${description}`
|
||||
echo ""
|
||||
echo "@c"
|
||||
echo "@c ${routine}"
|
||||
echo "@c"
|
||||
echo ""
|
||||
echo "@page"
|
||||
echo "@subsection ${routine} - " ${description}
|
||||
echo ""
|
||||
echo "@subheading CALLING SEQUENCE:"
|
||||
echo ""
|
||||
echo "@ifset is-C"
|
||||
echo "@example"
|
||||
proto=`grep "${routine} (" ../../itron_spec/itron3-6.txt | sed -e 's/ercd = //'` # | sed -e 's/ \\(/(/'`
|
||||
|
||||
echo `echo -n ${proto} | cut -d'(' -f1`"("
|
||||
echo ${proto} | cut -d'(' -f2 | sed -e 's/ .;//'
|
||||
echo ");"
|
||||
# echo "int ${routine}("
|
||||
# echo ");"
|
||||
echo "@end example"
|
||||
echo "@end ifset"
|
||||
echo ""
|
||||
echo "@ifset is-Ada"
|
||||
echo "@end ifset"
|
||||
echo ""
|
||||
echo "@subheading STATUS CODES:"
|
||||
echo ""
|
||||
echo "@code{EXXX} - "
|
||||
echo ""
|
||||
echo "@subheading DESCRIPTION:"
|
||||
echo ""
|
||||
echo "@subheading NOTES:"
|
||||
echo ""
|
||||
done
|
||||
|
||||
@@ -1,230 +0,0 @@
|
||||
#
|
||||
# This shell script generates the starting template for a manager chapter.
|
||||
#
|
||||
|
||||
FILES="task tasksync semaphore eventflags mailbox msgbuffer rendezvous interrupt memorypool fixedblock time config network"
|
||||
|
||||
|
||||
cat <<EOF
|
||||
@c
|
||||
@c This is the chapter from the RTEMS ITRON User's Guide that
|
||||
@c documents the services provided by the task
|
||||
@c manager.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter ITRON Implementation Status
|
||||
|
||||
@section Introduction
|
||||
|
||||
This chapter describes the status of the implementation of each
|
||||
manager in the RTEMS implementataion of the uITRON 3.0 API. The
|
||||
status of each manager is presented in terms of documentation and
|
||||
status relative to the extended level (level 'E') of the uITRON 3.0
|
||||
API specification. The extended level of the specification is
|
||||
the level at which dynamic object creation, deletion, and
|
||||
reference services are available. This level is more akin to the other
|
||||
APIs supported by RTEMS. This purpose of this chapter is
|
||||
to make it clear what is required to bring the RTEMS
|
||||
uITRON API implementation into compliance with the
|
||||
specification. The following description of the specification
|
||||
levels is taken from the uITRON 3.0 API specification.
|
||||
|
||||
|
||||
uITRON 3.0 specification is divided into fewer system call levels than was the
|
||||
previous uITRON 2.0 specification. There are now just three levels: Level R
|
||||
(Required), Level S (Standard) and Level E (Extended). In addition to these
|
||||
three levels, there is also Level C for CPU-dependent system calls.
|
||||
In addition, the uITRON 3.0 API, defines the network level ('N') which
|
||||
represents system calls that support the connection function
|
||||
|
||||
@itemize @bullet
|
||||
@item [level R] (Required)
|
||||
The functions in this level are mandatory for all implementations of
|
||||
uITRON 3.0 specification. This includes basic functions for achieving
|
||||
a real-time, multitasking OS. These functions can be implemented even
|
||||
without a hardware timer. This level corresponds to Levels 1 and 2
|
||||
of uITRON 2.0 specification.
|
||||
|
||||
@item [level S] (Standard)
|
||||
This includes basic functions for achieving a real-time, multitasking
|
||||
OS. This level corresponds to Levels 3 and 4 of uITRON 2.0
|
||||
specification.
|
||||
|
||||
@item [level E] (Extended)
|
||||
This includes additional and extended functions. This corresponds to
|
||||
functions not included in uITRON 2.0 specification (functions of
|
||||
ITRON2 specification). Specifically, this level includes object
|
||||
creation and deletion functions, rendezvous functions, memorypools
|
||||
and the timer handler.
|
||||
|
||||
@item [level C] (CPU dependent)
|
||||
This level provides implementation-dependent functions required due to
|
||||
the CPU or hardware configuration.
|
||||
|
||||
@end itemize
|
||||
|
||||
The support level of the connection function is indicated by appending an 'N'
|
||||
to the end of the level. For example, connectivity supported at [level S]
|
||||
would be referred to as [level SN]. The support level for functions which
|
||||
can only send requests for operations on other nodes but offer no system call
|
||||
processing on the issuing node itself are indicated by the lower case letter
|
||||
's' or 'e'.
|
||||
|
||||
|
||||
EOF
|
||||
|
||||
|
||||
for chapter in $FILES
|
||||
do
|
||||
case ${chapter} in
|
||||
task)
|
||||
CHAPTER_CAPS="Task"
|
||||
CHAPTER_LOWER="task"
|
||||
ROUTINES=" cre_tsk del_tsk sta_tsk ext_tsk exd_tsk ter_tsk \
|
||||
dis_dsp ena_dsp chg_pri rot_rdq rel_wai get_tid ref_tsk"
|
||||
;;
|
||||
|
||||
tasksync)
|
||||
CHAPTER_CAPS="Task-Dependent Synchronization"
|
||||
CHAPTER_LOWER="task-dependent synchronization"
|
||||
ROUTINES=" sus_tsk rsm_tsk frsm_tsk \
|
||||
slp_tsk tslp_tsk wup_tsk can_wup"
|
||||
;;
|
||||
|
||||
semaphore)
|
||||
CHAPTER_CAPS="Semaphore"
|
||||
CHAPTER_LOWER="semaphore"
|
||||
ROUTINES="cre_sem del_sem sig_sem wai_sem preq_sem twai_sem ref_sem "
|
||||
;;
|
||||
|
||||
eventflags)
|
||||
CHAPTER_CAPS="Eventflags"
|
||||
CHAPTER_LOWER="eventflags"
|
||||
ROUTINES=" cre_flg del_flg set_flg clr_flg wai_flg pol_flg \
|
||||
twai_flg ref_flg "
|
||||
;;
|
||||
|
||||
mailbox)
|
||||
CHAPTER_CAPS="Mailbox"
|
||||
CHAPTER_LOWER="mailbox"
|
||||
ROUTINES="cre_mbx del_mbx snd_msg rcv_msg prcv_msg trcv_msg ref_mbx"
|
||||
;;
|
||||
|
||||
msgbuffer)
|
||||
CHAPTER_CAPS="Message Buffer"
|
||||
CHAPTER_LOWER="message buffer"
|
||||
ROUTINES=" cre_mbf del_mbf snd_mbf psnd_mbf tsnd_mbf rcv_mbf prcv_mbf \
|
||||
trcv_mbf ref_mbf "
|
||||
;;
|
||||
|
||||
rendezvous)
|
||||
CHAPTER_CAPS="Rendezvous"
|
||||
CHAPTER_LOWER="rendezvous"
|
||||
ROUTINES=" cre_por del_por cal_por pcal_por tcal_por acp_por pacp_por \
|
||||
tacp_por fwd_por rpl_rdv ref_por"
|
||||
;;
|
||||
|
||||
interrupt)
|
||||
CHAPTER_CAPS="Interrupt"
|
||||
CHAPTER_LOWER="interrupt"
|
||||
ROUTINES=" def_int ret_int ret_wup loc_cpu unl_cpu dis_int ena_int
|
||||
chg_iXX ref_iXX"
|
||||
;;
|
||||
|
||||
memorypool)
|
||||
CHAPTER_CAPS="Memory Pool"
|
||||
CHAPTER_LOWER="memory pool"
|
||||
ROUTINES=" cre_mpl del_mpl get_blk pget_blk tget_blk rel_blk ref_mpl"
|
||||
;;
|
||||
|
||||
fixedblock)
|
||||
CHAPTER_CAPS="Fixed Block"
|
||||
CHAPTER_LOWER="fixed block"
|
||||
ROUTINES=" cre_mpf del_mpf get_blf pget_blf tget_blf rel_blf ref_mpf"
|
||||
;;
|
||||
|
||||
time)
|
||||
CHAPTER_CAPS="Time"
|
||||
CHAPTER_LOWER="time"
|
||||
ROUTINES=" get_tim set_tim dly_tsk \
|
||||
def_cyc act_cyc ref_cyc \
|
||||
def_alm ref_alm ret_tmr"
|
||||
;;
|
||||
|
||||
config)
|
||||
CHAPTER_CAPS="System"
|
||||
CHAPTER_LOWER="system"
|
||||
ROUTINES=" get_ver ref_sys ref_cfg def_svc def_exc"
|
||||
;;
|
||||
|
||||
network)
|
||||
CHAPTER_CAPS="Network Support"
|
||||
CHAPTER_LOWER="network support"
|
||||
ROUTINES=" nrea_dat nwri_dat nget_nod nget_ver"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown chapter name"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "@c"
|
||||
echo "@c ${CHAPTER_CAPS}"
|
||||
echo "@c"
|
||||
echo
|
||||
echo "@section ${CHAPTER_CAPS} Status"
|
||||
cat <<EOF
|
||||
|
||||
@itemize @bullet
|
||||
|
||||
@item Implementation
|
||||
@itemize @bullet
|
||||
EOF
|
||||
|
||||
for routine in ${ROUTINES}
|
||||
do
|
||||
echo "@item ${routine} - Stub, Needs to be Fleshed Out"
|
||||
done
|
||||
cat <<EOF
|
||||
@end itemize
|
||||
|
||||
@item Executive Modifications
|
||||
@itemize @bullet
|
||||
@item None Expected
|
||||
@end itemize
|
||||
|
||||
@item Testing
|
||||
@itemize @bullet
|
||||
@item No Tests Written
|
||||
@end itemize
|
||||
|
||||
@item Documentation
|
||||
@itemize @bullet
|
||||
@item Shell, Needs to be Fleshed Out
|
||||
@end itemize
|
||||
|
||||
@item ITRON 3.0 API Conformance
|
||||
@itemize @bullet
|
||||
@item Level E - Extended Functionality
|
||||
@itemize @bullet
|
||||
@item
|
||||
@end itemize
|
||||
|
||||
@item Level C - CPU Dependent Functionality
|
||||
@itemize @bullet
|
||||
@item NA
|
||||
@end itemize
|
||||
|
||||
@item Level N - Connection Functionality
|
||||
@itemize @bullet
|
||||
@item Not implemented
|
||||
@end itemize
|
||||
@end itemize
|
||||
|
||||
@end itemize
|
||||
|
||||
EOF
|
||||
done
|
||||
@@ -1,306 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c This is the chapter from the RTEMS ITRON User's Guide that
|
||||
@c documents the services provided by the interrupt
|
||||
@c manager.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter Interrupt Manager
|
||||
|
||||
@section Introduction
|
||||
|
||||
The
|
||||
interrupt manager is ...
|
||||
|
||||
The services provided by the interrupt manager are:
|
||||
|
||||
@itemize @bullet
|
||||
@item @code{def_int} - Define Interrupt Handler
|
||||
@item @code{ret_int} - Return from Interrupt Handler
|
||||
@item @code{ret_wup} - Return and Wakeup Task
|
||||
@item @code{loc_cpu} - Lock CPU
|
||||
@item @code{unl_cpu} - Unlock CPU
|
||||
@item @code{dis_int} - Disable Interrupt
|
||||
@item @code{ena_int} - Enable Interrupt
|
||||
@item @code{chg_iXX} - Change Interrupt Mask(Level or Priority)
|
||||
@item @code{ref_iXX} - Reference Interrupt Mask(Level or Priority)
|
||||
@end itemize
|
||||
|
||||
@section Background
|
||||
|
||||
@section Operations
|
||||
|
||||
@section System Calls
|
||||
|
||||
This section details the interrupt manager's services.
|
||||
A subsection is dedicated to each of this manager's services
|
||||
and describes the calling sequence, related constants, usage,
|
||||
and status codes.
|
||||
|
||||
|
||||
@c
|
||||
@c def_int
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection def_int - Define Interrupt Handler
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER def_int(
|
||||
UINT dintno,
|
||||
T_DINT *pk_dint
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c ret_int
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection ret_int - Return from Interrupt Handler
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
void ret_int(
|
||||
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c ret_wup
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection ret_wup - Return and Wakeup Task
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
void ret_wup(
|
||||
ID tskid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c loc_cpu
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection loc_cpu - Lock CPU
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER loc_cpu(
|
||||
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c unl_cpu
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection unl_cpu - Unlock CPU
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER unl_cpu(
|
||||
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c dis_int
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection dis_int - Disable Interrupt
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER dis_int(
|
||||
UINT eintno
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c ena_int
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection ena_int - Enable Interrupt
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ena_int(
|
||||
UINT eintno
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c chg_iXX
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection chg_iXX - Change Interrupt Mask(Level or Priority)
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER chg_iXX(
|
||||
UINT iXXXX
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c ref_iXX
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection ref_iXX - Reference Interrupt Mask(Level or Priority)
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ref_iXX(
|
||||
UINT *p_iXXXX
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
@@ -1,144 +0,0 @@
|
||||
\input texinfo @c -*-texinfo-*-
|
||||
@c %**start of header
|
||||
@setfilename itron.info
|
||||
@setcontentsaftertitlepage
|
||||
@syncodeindex vr fn
|
||||
@synindex ky cp
|
||||
@paragraphindent 0
|
||||
@c %**end of header
|
||||
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@c
|
||||
@c Master file for the RTEMS ITRON 3.0 API User's Guide
|
||||
@c
|
||||
|
||||
@c Joel's Questions
|
||||
@c
|
||||
@c 1. Why does paragraphindent only impact makeinfo?
|
||||
@c 2. Why does paragraphindent show up in HTML?
|
||||
@c
|
||||
|
||||
@include version.texi
|
||||
@include common/setup.texi
|
||||
@include common/rtems.texi
|
||||
|
||||
@ifset use-ascii
|
||||
@dircategory RTEMS On-Line Manual
|
||||
@direntry
|
||||
* RTEMS ITRON 3.0 API User's Guide: (itron).
|
||||
ITRON Guide
|
||||
@end direntry
|
||||
@end ifset
|
||||
|
||||
@c variable substitution info:
|
||||
@c
|
||||
@c Note: At the moment there is not an Ada interface to ITRON.
|
||||
@set is-C
|
||||
@clear is-Ada
|
||||
@set LANGUAGE C
|
||||
@set STRUCTURE structure
|
||||
@set ROUTINE function
|
||||
@set OR |
|
||||
@set RPREFIX RTEMS_
|
||||
@set DIRPREFIX rtems_
|
||||
@c the language is @value{LANGUAGE}
|
||||
@c NOTE: don't use underscore in the name
|
||||
@c
|
||||
|
||||
@c
|
||||
@c Title Page Stuff
|
||||
@c
|
||||
|
||||
@c
|
||||
@c I don't really like having a short title page. --joel
|
||||
@c
|
||||
@c @shorttitlepage RTEMS ITRON 3.0 API User's Guide
|
||||
|
||||
@setchapternewpage odd
|
||||
@settitle RTEMS ITRON 3.0 API User's Guide
|
||||
@titlepage
|
||||
@finalout
|
||||
|
||||
@title RTEMS ITRON 3.0 User's Guide
|
||||
@subtitle Edition @value{EDITION}, for RTEMS @value{VERSION}
|
||||
@sp 1
|
||||
@subtitle @value{UPDATED}
|
||||
@author On-Line Applications Research Corporation
|
||||
@page
|
||||
@include common/cpright.texi
|
||||
@end titlepage
|
||||
|
||||
@c This prevents a black box from being printed on "overflow" lines.
|
||||
@c The alternative is to rework a sentence to avoid this problem.
|
||||
|
||||
@contents
|
||||
|
||||
@include preface.texi
|
||||
@include task.texi
|
||||
@include tasksync.texi
|
||||
@include semaphore.texi
|
||||
@include eventflags.texi
|
||||
@include mailbox.texi
|
||||
@include msgbuffer.texi
|
||||
@include rendezvous.texi
|
||||
@include interrupt.texi
|
||||
@include memorypool.texi
|
||||
@include fixedblock.texi
|
||||
@include time.texi
|
||||
@include config.texi
|
||||
@include network.texi
|
||||
@include status.texi
|
||||
@ifinfo
|
||||
@node Top, , (dir), (dir)
|
||||
@top itron
|
||||
|
||||
This is the online version of the RTEMS ITRON 3.0 API User's Guide.
|
||||
|
||||
@menu
|
||||
* Preface::
|
||||
* Task Manager::
|
||||
* Task-Dependent Synchronization Manager::
|
||||
* Semaphore Manager::
|
||||
* Eventflags Manager::
|
||||
* Mailbox Manager::
|
||||
* Message Buffer Manager::
|
||||
* Rendezvous Manager::
|
||||
* Interrupt Manager::
|
||||
* Memory Pool Manager::
|
||||
* Fixed Block Manager::
|
||||
* Time Manager::
|
||||
* System Manager::
|
||||
* Network Support Manager::
|
||||
* ITRON Implementation Status::
|
||||
* Command and Variable Index::
|
||||
* Concept Index::
|
||||
@end menu
|
||||
|
||||
@end ifinfo
|
||||
@c
|
||||
@c
|
||||
@c Need to copy the emacs stuff and "trailer stuff" (index, toc) into here
|
||||
@c
|
||||
|
||||
@node Command and Variable Index, Concept Index, , Top
|
||||
@unnumbered Command and Variable Index
|
||||
|
||||
There are currently no Command and Variable Index entries.
|
||||
|
||||
@c @printindex fn
|
||||
|
||||
@node Concept Index, , Command and Variable Index, Top
|
||||
@unnumbered Concept Index
|
||||
|
||||
There are currently no Concept Index entries.
|
||||
@c @printindex cp
|
||||
|
||||
@bye
|
||||
|
||||
@@ -1,338 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c This is the chapter from the RTEMS ITRON User's Guide that
|
||||
@c documents the services provided by the mailbox
|
||||
@c manager.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
|
||||
@chapter Mailbox Manager
|
||||
|
||||
@section Introduction
|
||||
|
||||
The
|
||||
mailbox manager is basically a linked list, hidden by the super core message queue and consists of a control block, a private structure. The control block comprises of the create mailbox structure, the message structure and the reference mailbox structure.
|
||||
|
||||
The services provided by the mailbox manager are:
|
||||
|
||||
@itemize @bullet
|
||||
@item @code{cre_mbx} - Create Mailbox
|
||||
@item @code{del_mbx} - Delete Mailbox
|
||||
@item @code{snd_msg} - Send Message to Mailbox
|
||||
@item @code{rcv_msg} - Receive Message from Mailbox
|
||||
@item @code{prcv_msg} - Poll and Receive Message from Mailbox
|
||||
@item @code{trcv_msg} - Receive Message from Mailbox with Timeout
|
||||
@item @code{ref_mbx} - Reference Mailbox Status
|
||||
@end itemize
|
||||
|
||||
|
||||
@section Background
|
||||
|
||||
@section Operations
|
||||
|
||||
@section System Calls
|
||||
|
||||
This section details the mailbox manager's services.
|
||||
A subsection is dedicated to each of this manager's services
|
||||
and describes the calling sequence, related constants, usage,
|
||||
and status codes.
|
||||
|
||||
|
||||
@c
|
||||
@c cre_mbx
|
||||
@c
|
||||
|
||||
@page
|
||||
|
||||
@subsection cre_mbx - Create Mailbox
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER cre_mbx(
|
||||
ID mbxid,
|
||||
T_CMBX *pk_cmbx
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal completion@*
|
||||
@code{E_NOMEM} - Insufficient memory@*
|
||||
@code{E_ID} - Invalid ID number@*
|
||||
@code{E_RSATR} - Reserved attribute@*
|
||||
@code{E_OBJ} - Invalid object state@*
|
||||
@code{E_OACV} - Object access violation@*
|
||||
@code{E_PAR} - Parameter error
|
||||
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
Allocated a control area/buffer space for mailbox with some ID.
|
||||
|
||||
@example
|
||||
User area: +ve ids
|
||||
System area: -ve ids
|
||||
@end example
|
||||
|
||||
User may specify if its FIFO or priority level queue.
|
||||
Assumes shared memory b/w communicating processes.
|
||||
Initializes core message queue for this mbox.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
NONE
|
||||
|
||||
|
||||
@c
|
||||
@c del_mbx
|
||||
@c
|
||||
|
||||
@page
|
||||
|
||||
@subsection del_mbx - Delete Mailbox
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER del_mbx(
|
||||
ID mbxid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal completion@*
|
||||
@code{E_ID} - Invalid ID number@*
|
||||
@code{E_NOEXS} - Object does not exist@*
|
||||
@code{E_OACV} - Object access violation
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
Specified by the ID, cleans up all data structures and control blocks.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
NONE
|
||||
|
||||
|
||||
@c
|
||||
@c snd_msg
|
||||
@c
|
||||
|
||||
@page
|
||||
|
||||
@subsection snd_msg - Send Message to Mailbox
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER snd_msg(
|
||||
ID mbxid,
|
||||
T_MSG *pk_msg
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal completion@*
|
||||
@code{E_ID} - Invalid ID number@*
|
||||
@code{E_NOEXS} - Object does not exist@*
|
||||
@code{E_OACV} - Object access violation@*
|
||||
@code{E_QOVR} - Queueing or nesting overflow
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
Sends the address of message to mbox having a given id, any waiting tasks (blocked tasks) will be woken up. It supports non-blocking send.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
NONE
|
||||
|
||||
|
||||
@c
|
||||
@c rcv_msg
|
||||
@c
|
||||
|
||||
@page
|
||||
|
||||
@subsection rcv_msg - Receive Message from Mailbox
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER rcv_msg(
|
||||
T_MSG **ppk_msg,
|
||||
ID mbxid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal completion@*
|
||||
@code{E_ID} - Invalid ID number@*
|
||||
@code{E_NOEXS} - Object does not exist@*
|
||||
@code{E_OACV} - Object access violation@*
|
||||
@code{E_PAR} - Parameter error@*
|
||||
@code{E_DLT} - The object being waited for was deleted@*
|
||||
@code{E_RLWAI} - WAIT state was forcibly released@*
|
||||
@code{E_CTX} - Context error
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
If there is no message then receiver blocks, if not empty then it takes the first message of the queue.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
NONE
|
||||
|
||||
|
||||
@c
|
||||
@c prcv_msg
|
||||
@c
|
||||
|
||||
@page
|
||||
|
||||
@subsection prcv_msg - Poll and Receive Message from Mailbox
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER prcv_msg(
|
||||
T_MSG **ppk_msg,
|
||||
ID mbxid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal completion@*
|
||||
@code{E_ID} - Invalid ID number@*
|
||||
@code{E_NOEXS} - Object does not exist@*
|
||||
@code{E_OACV} - Object access violation@*
|
||||
@code{E_PAR} - Parameter error@*
|
||||
@code{E_DLT} - The object being waited for was deleted@*
|
||||
@code{E_RLWAI} - WAIT state was forcibly released@*
|
||||
@code{E_CTX} - Context error@*
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
Poll and receive message from mailbox.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
NONE
|
||||
|
||||
|
||||
@c
|
||||
@c trcv_msg
|
||||
@c
|
||||
|
||||
@page
|
||||
|
||||
@subsection trcv_msg - Receive Message from Mailbox with Timeout
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER trcv_msg(
|
||||
T_MSG **ppk_msg,
|
||||
ID mbxid,
|
||||
TMO tmout
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal completion@*
|
||||
@code{E_ID} - Invalid ID number@*
|
||||
@code{E_NOEXS} - Object does not exist@*
|
||||
@code{E_OACV} - Object access violation@*
|
||||
@code{E_PAR} - Parameter error@*
|
||||
@code{E_DLT} - The object being waited for was deleted@*
|
||||
@code{E_RLWAI} - WAIT state was forcibly released@*
|
||||
@code{E_CTX} - Context error
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
Blocking receive with a maximum timeout.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
NONE
|
||||
|
||||
|
||||
@c
|
||||
@c ref_mbx
|
||||
@c
|
||||
|
||||
@page
|
||||
|
||||
@subsection ref_mbx - Reference Mailbox Status
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ref_mbx(
|
||||
T_RMBX *pk_rmbx,
|
||||
ID mbxid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal completion@*
|
||||
@code{E_ID} - Invalid ID number@*
|
||||
@code{E_NOEXS} - Object does not exist@*
|
||||
@code{E_OACV} - Object access violation@*
|
||||
@code{E_PAR} - Parameter error
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
Supports non-blocking receive. If there are no messages, it returns -1. Also returns id of the next process waiting on a message.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
NONE
|
||||
|
||||
|
||||
@@ -1,401 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c This is the chapter from the RTEMS ITRON User's Guide that
|
||||
@c documents the services provided by the memory pool
|
||||
@c manager.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter Memory Pool Manager
|
||||
|
||||
@section Introduction
|
||||
|
||||
The
|
||||
memory pool manager is ...
|
||||
|
||||
The services provided by the memory pool manager are:
|
||||
|
||||
@itemize @bullet
|
||||
@item @code{cre_mpl} - Create Variable-Size Memorypool
|
||||
@item @code{del_mpl} - Delete Variable-Size Memorypool
|
||||
@item @code{get_blk} - Get Variable-Size Memory Block
|
||||
@item @code{pget_blk} - Poll and Get Variable-Size Memory Block
|
||||
@item @code{tget_blk} - Get Variable-Size Memory Block with Timeout
|
||||
@item @code{rel_blk} - Release Variable-Size Memory Block
|
||||
@item @code{ref_mpl} - Reference Variable-Size Memorypool Status
|
||||
@end itemize
|
||||
|
||||
@section Background
|
||||
|
||||
Memorypool management functions manage memorypools and allocate memory blocks.
|
||||
There are two types of memorypool: fixed-size memorypools and variable-size
|
||||
memorypools. Both are considered separate objects and require different
|
||||
system calls for manipulation. While the size of memory blocks allocated
|
||||
from fixed-size memorypools are all fixed, blocks of any size may be
|
||||
specified when allocating memory blocks from variable-size memorypools.
|
||||
|
||||
@section Operations
|
||||
|
||||
@section System Calls
|
||||
|
||||
This section details the memory pool manager's services.
|
||||
A subsection is dedicated to each of this manager's services
|
||||
and describes the calling sequence, related constants, usage,
|
||||
and status codes.
|
||||
|
||||
|
||||
@c
|
||||
@c cre_mpl
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection cre_mpl - Create Variable-Size Memorypool
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER cre_mpl(
|
||||
ID mplid,
|
||||
T_CMPL *pk_cmpl
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_NOMEM} - Insufficient memory (Memory for control block and/or for
|
||||
memorypool cannot be allocated)
|
||||
|
||||
@code{E_ID} - Invalid ID number (mplid was invalid or could not be used)
|
||||
|
||||
@code{E_RSATR} - Reserved attribute (mplatr was invalid or could not be used)
|
||||
|
||||
@code{E_OBJ} - Invalid object state (a memorypool of the same ID already exists)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mplid less than -4 was specified from
|
||||
a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_PAR} - Parameter error (pk_cmpl is invalid or mplsz is negative or
|
||||
invalid)
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
The cre_mpl directive creates a variable-size memorypool having the ID number specified by mplid. Specifically, a memory area of the size determined by mplsz is allocated for use as a memorypool. A control block for the memorypool being created is also allocated. User memorypools have positive ID numbers, while system memorypools have negative ID numbers. User tasks (tasks having positive task IDs) cannot access system memorypools (memorypools having negative ID numbers).
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
The memory required for creating memorypools and for allocating control blocks for each object is reserved while system initialization. Associated parameters are therefore specified at system configuration.
|
||||
|
||||
@c
|
||||
@c del_mpl
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection del_mpl - Delete Variable-Size Memorypool
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER del_mpl(
|
||||
ID mplid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID number (mplid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the memorypool specified by mplid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mplid less than -4 was specified from
|
||||
a user task. This is implementation dependent.)
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
This system call deletes the variable-size memorypool specified by mplid. No check or error report is performed even if there are tasks using memory from the memorypool to be deleted. This system call completes normally even if some of the memory blocks are not returned. Issuing this system call causes memory used for the control block of the associated memorypool and the memory area making up the memorypool itself to be released. After this system call is invoked, another memorypool having the same ID number can be created.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
When a memorypool being waited for by more than one tasks is deleted, the order of tasks on the ready queue after the WAIT state is cleared is implementation dependent in the case of tasks having the same priority.
|
||||
|
||||
@c
|
||||
@c get_blk
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection get_blk - Get Variable-Size Memory Block
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER get_blk(
|
||||
VP *p_blk,
|
||||
ID mplid,
|
||||
INT blksz
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID number (mplid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the memorypool specified by mplid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mplid less than -4 was specified from
|
||||
a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_PAR} - Parameter error (tmout is -2 or less, blksz is negative or invalid)
|
||||
|
||||
@code{E_DLT} - The object being waited for was deleted (the specified memorypool
|
||||
was deleted while waiting)
|
||||
|
||||
@code{E_RLWAI} - WAIT state was forcibly released (rel_wai was received while
|
||||
waiting)
|
||||
|
||||
@code{E_TMOUT} - Polling failure or timeout
|
||||
|
||||
@code{E_CTX} - Context error (issued from task-independent portions or a
|
||||
task in dispatch disabled state; implementation dependent for
|
||||
pget_blk and tget_blk(tmout=TMO_POL))
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
A memory block of the size in bytes given by blksz is allocated from the variable-size memorypool specified by mplid. The start address of the memory block allocated is returned in blk. The allocated memory block is not cleared to zero. The contents of the memory block allocated are undefined. If the memory block cannot be obtained from the specified memorypool when get_blk is issued, the task issuing get_blk will be placed on the memory allocation queue of the specified memorypool, and wait until it can get the memory it requires.
|
||||
|
||||
The order in which tasks wait on the queue when waiting to be allocated memory blocks is according to either FIFO or task priority. The specification whereby tasks wait according to task priority is considered an extended function [level X] for which compatibility is not guaranteed. Furthermore, when tasks form a memory allocation queue, it is implementation dependent whether priority is given to tasks requesting the smaller size of memory or those at the head of the queue.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
Pget_blk and get_blk represent the same processing as specifying certain values (TMO_POL or TMO_FEVR) to tget_blk for tmout. It is allowed that only tget_blk is implemented in the kernel and that pget_blk and get_blk are implemented as macros which call tget_blk.
|
||||
|
||||
@c
|
||||
@c pget_blk
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection pget_blk - Poll and Get Variable-Size Memory Block
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ercd =pget_blk(
|
||||
VP *p_blk,
|
||||
ID mplid,
|
||||
INT blksz
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID number (mplid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the memorypool specified by mplid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mplid less than -4 was specified from
|
||||
a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_PAR} - Parameter error (tmout is -2 or less, blksz is negative or invalid)
|
||||
|
||||
@code{E_DLT} - The object being waited for was deleted (the specified memorypool
|
||||
was deleted while waiting)
|
||||
|
||||
@code{E_RLWAI} - WAIT state was forcibly released (rel_wai was received while
|
||||
waiting)
|
||||
|
||||
@code{E_TMOUT} - Polling failure or timeout
|
||||
|
||||
@code{E_CTX} - Context error (issued from task-independent portions or a
|
||||
task in dispatch disabled state; implementation dependent for
|
||||
pget_blk and tget_blk(tmout=TMO_POL))
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
The pget_blk system call has the same function as get_blk except for the waiting feature. Pget_blk polls whether or not the task should wait if get_blk is executed. The meaning of parameters to pget_blk are the same with get_blk. The specific operations by pget_blk are as follows.
|
||||
|
||||
- If there is enough free memory to get the memory block of specified size
|
||||
immediately, processing is the same as get_blk: that is, the
|
||||
requested memory is allocated and the system call completes normally.
|
||||
|
||||
- If there is not enough free memory, an E_TMOUT error is returned to
|
||||
indicate polling failed and the system call finishes. Unlike get_blk,
|
||||
the issuing task does not wait in this case. Also, the issuing task
|
||||
does not get any memory.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
NONE
|
||||
|
||||
@c
|
||||
@c tget_blk
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection tget_blk - Get Variable-Size Memory Block with Timeout
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ercd =tget_blk(
|
||||
VP *p_blk,
|
||||
ID mplid,
|
||||
INT blksz,
|
||||
TMO tmout
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID number (mplid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the memorypool specified by mplid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mplid less than -4 was specified from
|
||||
a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_PAR} - Parameter error (tmout is -2 or less, blksz is negative or invalid)
|
||||
|
||||
@code{E_DLT} - The object being waited for was deleted (the specified memorypool
|
||||
was deleted while waiting)
|
||||
|
||||
@code{E_RLWAI} - WAIT state was forcibly released (rel_wai was received while
|
||||
waiting)
|
||||
|
||||
@code{E_TMOUT} - Polling failure or timeout
|
||||
|
||||
@code{E_CTX} - Context error (issued from task-independent portions or a
|
||||
task in dispatch disabled state; implementation dependent for
|
||||
pget_blk and tget_blk(tmout=TMO_POL))
|
||||
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
The tget_blk system call has the same function as get_blk with an additional timeout feature. A maximum wait time (timeout value) can be specified using the parameter tmout. When a timeout is specified, a timeout error, E_TMOUT, will result and the system call will finish if the period specified by tmout elapses without conditions for releasing wait being satisfied (i.e. without sufficient free memory becoming available).
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
NONE
|
||||
|
||||
@c
|
||||
@c rel_blk
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection rel_blk - Release Variable-Size Memory Block
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER rel_blk(
|
||||
ID mplid,
|
||||
VP blk
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID number (mplid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the memorypool specified by mplid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mplid less than -4 was specified from
|
||||
a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_PAR} - Parameter error (blk is invalid or an attempt was made to return
|
||||
the memory block to the wrong memorypool)
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
This system call releases the memory block specified by blk and returns it to the variable-size memorypool specified by mplid. Executing rel_blk allows memory to be allocated to the next task waiting for memory allocation from the memorypool given by mplid, thus releasing that task from its WAIT state. The variable-size memorypool to which the memory block is returned must be the same memorypool from which it was originally allocated. An E_PAR error will result if an attempt is made to return a memory block to another memorypool than that from which it was originally allocated.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
When memory is returned to a variable-size memorypool for which more than one task is waiting, multiple tasks may be released from waiting at the same time depending on the number of bytes of memory. The order of tasks on the ready queue among tasks having the same priority after being released from waiting for memory is implementation dependent.
|
||||
|
||||
@c
|
||||
@c ref_mpl
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection ref_mpl - Reference Variable-Size Memorypool Status
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ref_mpl(
|
||||
T_RMPL *pk_rmpl,
|
||||
ID mplid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID number (mplid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the memorypool specified by mplid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A mplid less than -4 was specified from
|
||||
a user task. This is implementation dependent.) Note: User tasks can issue ref_mpl in order to reference memorypools of mplid = TMPL_OS = -4. Whether or not memorypools of mplid = -3 or -2 may be specified to ref_mpl by user tasks is implementation dependent.
|
||||
|
||||
@code{E_PAR} - Parameter error (the packet address for the return parameters
|
||||
could not be used)
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
This system call refers to the state of the variable-size memorypool specified by mplid, and returns the total free memory size currently available (frsz), the maximum continuous memory size of readily available free memory (maxsz), information of a task waiting to be allocated memory (wtsk), and its extended information (exinf). Wtsk indicates, whether or not there is a task waiting to be allocated memory from the variable-size memorypool specified. If there is no waiting task, wtsk is returned as FALSE = 0. If there is a waiting task, wtsk is returned as a value other than 0.
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
In some implementations, memorypools having mplid = -3 or -2 may be referred with ref_mpl as memorypools used by implementation-dependent parts of the OS (such as those used for the stack only). This system call can provide more detailed information regarding remaining memory if the usage of memorypools having mplid = -3 or -2 is more clearly defined. Whether or not this feature is used and any details regarding information provided are implementation dependent.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,162 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c This is the chapter from the RTEMS ITRON User's Guide that
|
||||
@c documents the services provided by the network support
|
||||
@c manager.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter Network Support Manager
|
||||
|
||||
@section Introduction
|
||||
|
||||
The
|
||||
network support manager is ...
|
||||
|
||||
The services provided by the network support manager are:
|
||||
|
||||
@itemize @bullet
|
||||
@item @code{nrea_dat} - Read Data from another Node
|
||||
@item @code{nwri_dat} - Write Data to another Node
|
||||
@item @code{nget_nod} - Get Local Node Number
|
||||
@item @code{nget_ver} - Get Version Information of another Node
|
||||
@end itemize
|
||||
|
||||
@section Background
|
||||
|
||||
@section Operations
|
||||
|
||||
@section System Calls
|
||||
|
||||
This section details the network support manager's services.
|
||||
A subsection is dedicated to each of this manager's services
|
||||
and describes the calling sequence, related constants, usage,
|
||||
and status codes.
|
||||
|
||||
|
||||
@c
|
||||
@c nrea_dat
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection nrea_dat - Read Data from another Node
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER nrea_dat(
|
||||
INT *p_reasz,
|
||||
VP dstadr,
|
||||
NODE srcnode,
|
||||
VP srcadr,
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c nwri_dat
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection nwri_dat - Write Data to another Node
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER nwri_dat(
|
||||
INT *p_wrisz,
|
||||
NODE dstnode,
|
||||
VP dstadr,
|
||||
VP srcadr,
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c nget_nod
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection nget_nod - Get Local Node Number
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER nget_nod(
|
||||
NODE *p_node
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c nget_ver
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection nget_ver - Get Version Information of another Node
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER nget_ver(
|
||||
T_VER *pk_ver,
|
||||
NODE node
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@ifinfo
|
||||
@node Preface, , Top, Top
|
||||
@end ifinfo
|
||||
@unnumbered Preface
|
||||
|
||||
There needs to be a preface to this manual.
|
||||
@@ -1,395 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c This is the chapter from the RTEMS ITRON User's Guide that
|
||||
@c documents the services provided by the rendezvous
|
||||
@c manager.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter Rendezvous Manager
|
||||
|
||||
@section Introduction
|
||||
|
||||
The
|
||||
rendezvous manager is ...
|
||||
|
||||
The services provided by the rendezvous manager are:
|
||||
|
||||
@itemize @bullet
|
||||
@item @code{cre_por} - Create Port for Rendezvous
|
||||
@item @code{del_por} - Delete Port for Rendezvous
|
||||
@item @code{cal_por} - Call Port for Rendezvous
|
||||
@item @code{pcal_por} - Poll and Call Port for Rendezvous
|
||||
@item @code{tcal_por} - Call Port for Rendezvous with Timeout
|
||||
@item @code{acp_por} - Accept Port for Rendezvous
|
||||
@item @code{pacp_por} - Poll and Accept Port for Rendezvous
|
||||
@item @code{tacp_por} - Accept Port for Rendezvous with Timeout
|
||||
@item @code{fwd_por} - Forward Rendezvous to Other Port
|
||||
@item @code{rpl_rdv} - Reply Rendezvous
|
||||
@item @code{ref_por} - Reference Port Status
|
||||
@end itemize
|
||||
|
||||
@section Background
|
||||
|
||||
@section Operations
|
||||
|
||||
@section System Calls
|
||||
|
||||
This section details the rendezvous manager's services.
|
||||
A subsection is dedicated to each of this manager's services
|
||||
and describes the calling sequence, related constants, usage,
|
||||
and status codes.
|
||||
|
||||
|
||||
@c
|
||||
@c cre_por
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection cre_por - Create Port for Rendezvous
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER cre_por(
|
||||
ID porid,
|
||||
T_CPOR *pk_cpor
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c del_por
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection del_por - Delete Port for Rendezvous
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER del_por(
|
||||
ID porid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c cal_por
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection cal_por - Call Port for Rendezvous Poll
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER cal_por(
|
||||
VP msg,
|
||||
INT *p_rmsgsz,
|
||||
ID porid,
|
||||
UINT calptn
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c pcal_por
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection pcal_por - Poll and Call Port for Rendezvous
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ercd =pcal_por(
|
||||
VP msg,
|
||||
INT *p_rmsgsz,
|
||||
ID porid,
|
||||
UINT calptn,
|
||||
INT
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c tcal_por
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection tcal_por - Call Port for Rendezvous with Timeout
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ercd =tcal_por(
|
||||
VP msg,
|
||||
INT *p_rmsgsz,
|
||||
ID porid,
|
||||
UINT calptn,
|
||||
INT
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c acp_por
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection acp_por - Accept Port for Rendezvous Poll
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER acp_por(
|
||||
RNO *p_rdvno,
|
||||
VP msg,
|
||||
INT *p_cmsgsz,
|
||||
ID porid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c pacp_por
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection pacp_por - Poll and Accept Port for Rendezvous
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ercd =pacp_por(
|
||||
RNO *p_rdvno,
|
||||
VP msg,
|
||||
INT *p_cmsgsz,
|
||||
ID porid,
|
||||
UINT
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c tacp_por
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection tacp_por - Accept Port for Rendezvous with Timeout
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ercd =tacp_por(
|
||||
RNO *p_rdvno,
|
||||
VP msg,
|
||||
INT *p_cmsgsz,
|
||||
ID porid,
|
||||
UINT
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c fwd_por
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection fwd_por - Forward Rendezvous to Other Port
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER fwd_por(
|
||||
ID porid,
|
||||
UINT calptn,
|
||||
RNO rdvno,
|
||||
VP msg,
|
||||
INT cmsgsz
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c rpl_rdv
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection rpl_rdv - Reply Rendezvous
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER rpl_rdv(
|
||||
RNO rdvno,
|
||||
VP msg,
|
||||
INT rmsgsz
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c ref_por
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection ref_por - Reference Port Status
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ref_por(
|
||||
T_RPOR *pk_rpor,
|
||||
ID porid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +0,0 @@
|
||||
@set UPDATED 27 June 2007
|
||||
@set UPDATED-MONTH June 2007
|
||||
@set EDITION 4.10.99.0
|
||||
@set VERSION 4.10.99.0
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,388 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c This is the chapter from the RTEMS ITRON User's Guide that
|
||||
@c documents the services provided by the task-dependent synchronization
|
||||
@c manager.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter Task-Dependent Synchronization Manager
|
||||
|
||||
@section Introduction
|
||||
|
||||
The task-dependent synchronization manager is designed to utilize those synchronization
|
||||
functions already supported by tasks. This includes functions that suspend tasks for a while and associated functions that release SUSPEND state, and synchronization functions which make tasks wait and wake them up.
|
||||
|
||||
The services provided by the task-dependent synchronization manager are:
|
||||
|
||||
@itemize @bullet
|
||||
@item @code{sus_tsk} - Suspend Other Task
|
||||
@item @code{rsm_tsk} - Resume Suspended Task
|
||||
@item @code{frsm_tsk} - Forcibly Resume Suspended Task
|
||||
@item @code{slp_tsk} - Sleep Task
|
||||
@item @code{tslp_tsk} - Sleep Task with Timeout
|
||||
@item @code{wup_tsk} - Wakeup Other Task
|
||||
@item @code{can_wup} - Cancel Wakeup Request
|
||||
@end itemize
|
||||
|
||||
@section Operations
|
||||
@subsection Suspend Other Task
|
||||
This call stops the execution of a task by putting it into a SUSPEND state. This call is not able to specify itself, since this would end the flow of execution altogether. If the task is already in a WAIT state, then SUSPEND is added to become WAIT-SUSPEND. These modes are turned on and off separately, without affecting one another. Furthermore, SUSPEND states can be nested, and tasks in a SUSPEND state are allocated resources as normal.
|
||||
|
||||
@subsection Resume Suspended Task
|
||||
This operation restarts the execution of a task that was previously stopped by the SUSPEND OTHER TASK call. Obviously, a task cannot specify itself using this call. Since SUSPEND states can be nested, one call to RESUME releases only one SUSPEND. Thus, it takes as many RESUMES as SUSPENDS to return the task to execution.
|
||||
|
||||
@subsection Forcibly Resume Suspended Task
|
||||
This call has the same functionality as the previously mentioned Resume Suspended Task with one exception. This call releases all nested SUSPENDS at once, which guarantees the task will return to execution.
|
||||
|
||||
@subsection Sleep Task
|
||||
The Sleep Task operation causes the specified task to sleep until a Wakeup Task function is called. This puts the task in a WAIT state. WAIT states can not be nested, but can be combined with SUSPEND states as mentioned earlier.
|
||||
|
||||
@subsection Sleep Task with Timeout
|
||||
This function is identical to the Sleep Task function with an added timeout attribute. If the timeout mark is reached before a Wakeup call is recieved, an error is generated.
|
||||
|
||||
@subsection Wakeup Other Task
|
||||
The Wakeup Other Task call is used to release the WAIT state of a task. These calls can be previously queued using the wupcnt value so that when the matching Sleep Task is executed, there will be no delay.
|
||||
|
||||
@subsection Cancel Wakeup Request
|
||||
This function call resets the value of wupcnt to zero, thereby canceling all associated wakeup requests. A call to self is acceptable for this operation, and may even be useful for monitoring certain situations.
|
||||
|
||||
@section System Calls
|
||||
|
||||
This section details the task-dependent synchronization manager's services. A subsection is dedicated to each of this manager's services and describes the calling sequence, related constants, usage, and status codes.
|
||||
|
||||
|
||||
@c
|
||||
@c sus_tsk
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection sus_tsk - Suspend Other Task
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER sus_tsk(
|
||||
ID tskid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID Number (tskid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the task specified by tskid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A tskid less than -4 was specified from a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_OBJ} - Invalid object state (the specified task is in DORMANT state or the issuing task specified itself)
|
||||
|
||||
@code{E_QOVR} - Queuing or nesting overflow (the number of nesting levels given by suscnt went over the maximum allowed)
|
||||
|
||||
@code{EN_OBJNO} - An object number which could not be accessed on the target node is specified.
|
||||
|
||||
@code{EN_CTXID} - Specified an object on another node when the system call was issued from a task in dispatch disabled state or from a task-independent portion
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
This system call suspends the execution of the task specified by tskid by putting it into SUSPEND state.
|
||||
|
||||
SUSPEND state is released by issuing the rsm_tsk or frsm_tsk system call. If the task specified to sus_tsk is already in WAIT state, it will be put in the combined WAIT-SUSPEND state by the execution of sus_tsk. If wait conditions for the task are later fulfilled, it will enter SUSPEND state. If rsm_tsk is issued on the task, it will return to the WAIT state before the suspension.
|
||||
|
||||
Since SUSPEND state indicates the suspension of execution by a system call issued from another task, a task may not specify itself to this system call. An E_OBJ error will result if a task specifies itself.
|
||||
|
||||
If more than one sus_tsk call is issued to a task, that task will be put in multiple SUSPEND states. This is called suspend request nesting. When this is done, rsm_tsk must be issued the same number of times which sus_tsk was issued (suscnt) in order to return the task to its original state before the suspension. This means it is possible to nest the pairs of sus_tsk and rsm_tsk.
|
||||
|
||||
The maximum number of times suspend requests may be nested, and even whether or not suspend request nesting (the ability to issue sus_tsk on the same task more than once) is even allowed, is implementation dependent. Suspend request nesting is considered an extended function [level X] for which compatibility and connectivity are not guaranteed.
|
||||
|
||||
An E_QOVR error will result if sus_tsk is issued more than once on the same task on a system which does not support suspend request nesting or if it is issued more than the maximum number of times allowed.
|
||||
|
||||
@subheading NOTES:
|
||||
A task which is suspended in addition to waiting for resources (such as waiting for a semaphore) can be allocated resources (such as semaphore counts) based on the same conditions as tasks which are not suspended. Even when suspended, the allocation of resources is not delayed in any way. Conditions concerning resource allocation and release of the wait state remain unchanged. In other words, SUSPEND state is completely independent of other processing and task states. If it is desirable to delay the allocation of resources to a task which is suspended, the user should use chg_pri in conjunction with sus_tsk and rsm_tsk.
|
||||
|
||||
@c
|
||||
@c rsm_tsk
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection rsm_tsk - Resume Suspended Task
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER rsm_tsk(
|
||||
ID tskid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID Number (tskid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the task specified by tskid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A tskid less than -4 was specified from a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_OBJ} - Invalid object state (the target task is not in SUSPEND state (including when it is DORMANT or when the issuing task specifies itself))
|
||||
|
||||
@code{EN_OBJNO} - An object number which could not be accessed on the target node is specified.
|
||||
|
||||
@code{EN_CTXID} - Specified an object on another node when the system call was issued from a task in dispatch disabled state or from a task-independent portion
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
This system call releases SUSPEND state of the task specified by tskid. Specifically, it causes SUSPEND state to be released and the execution of the specified task to resume when the task has been suspended by the prior execution of sus_tsk.
|
||||
If the specified task is in WAIT-SUSPEND state, the execution of rsm_tsk only releases the SUSPEND state, and the task will become WAIT state.
|
||||
|
||||
A task cannot specify itself to this system call. An E_OBJ error will result if a task specifies itself.
|
||||
|
||||
Rsm_tsk only releases one suspend request from the suspend request nest (suscnt). Accordingly, if more than one sus_tsk has been issued on the task in question (suscnt >= 2), that task will remain suspended even after the execution of rsm_tsk is completed.
|
||||
|
||||
@subheading NOTES:
|
||||
It is implementation dependent which location in the ready queue a task returns to after the task which has been suspended from RUN or READY state is resumed by rsm_tsk.
|
||||
|
||||
@c
|
||||
@c frsm_tsk
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection frsm_tsk - Forcibly Resume Suspended Task
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ercd =frsm_tsk(
|
||||
ID tskid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID Number (tskid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the task specified by tskid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A tskid less than -4 was specified from a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_OBJ} - Invalid object state (the target task is not in SUSPEND state (including when it is DORMANT or when the issuing task specifies itself))
|
||||
|
||||
@code{EN_OBJNO} - An object number which could not be accessed on the target node is specified.
|
||||
|
||||
@code{EN_CTXID} - Specified an object on another node when the system call was issued from a task in dispatch disabled state or from a task-independent portion
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
This system call releases SUSPEND state of the task specified by tskid. Specifically, it causes SUSPEND state to be released and the execution of the specified task to resume when the task has been suspended by the prior execution of sus_tsk. If the specified task is in WAIT-SUSPEND state, the execution of rsm_tsk only releases the SUSPEND state, and the task will become WAIT state.
|
||||
|
||||
A task cannot specify itself to this system call. An E_OBJ error will result if a task specifies itself.
|
||||
|
||||
Frsm_tsk will clear all suspend requests (suscnt = 0) even if more than one sus_tsk has been issued (suscnt >= 2) on the same task. In other words, SUSPEND state is guaranteed to be released, and execution will resume unless the task in question had been in combined WAIT-SUSPEND state.
|
||||
|
||||
@subheading NOTES:
|
||||
It is implementation dependent which location in the ready queue a task returns to after the task which has been suspended from RUN or READY state is resumed by frsm_tsk.
|
||||
|
||||
|
||||
@c
|
||||
@c slp_tsk
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection slp_tsk - Sleep Task Sleep Task with Timeout
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER slp_tsk( void );
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_PAR} - Parameter error (a timeout value -2 or less was specified)
|
||||
|
||||
@code{E_RLWAI} - WAIT state was forcibly released (rel_wai was received while waiting)
|
||||
|
||||
@code{E_TMOUT} - Polling failure or timeout exceeded
|
||||
|
||||
@code{E_CTX} - Context error (issued from task-independent portions or a task in dispatch disabled state)
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
This system call puts the issuing task (which was in RUN state) into WAIT state, causing the issuing task to sleep until wup_tsk is invoked.
|
||||
|
||||
@subheading NOTES:
|
||||
Since the slp_tsk system call causes the issuing task to enter WAIT state, slp_tsk calls may not be nested. It is possible, however, for another task to execute a sus_tsk on a task which has put itself in WAIT state using slp_tsk. If this happens, the task will enter the combined WAIT-SUSPEND state.
|
||||
|
||||
No polling function for slp_tsk is provided. A similar function can be implemented if necessary using can_wup.
|
||||
|
||||
@c
|
||||
@c tslp_tsk
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection tslp_tsk - Sleep Task with Timeout
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ercd =tslp_tsk(
|
||||
TMO tmout
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_PAR} - Parameter error (a timeout value -2 or less was specified)
|
||||
|
||||
@code{E_RLWAI} - WAIT state was forcibly released (rel_wai was received while waiting)
|
||||
|
||||
@code{E_TMOUT} - Polling failure or timeout exceeded
|
||||
|
||||
@code{E_CTX} - Context error (issued from task-independent portions or a task in dispatch disabled state)
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
The tslp_tsk system call is the same as slp_tsk but with an additional timeout feature. If a wup_tsk is issued before the period of time specified by tmout elapses, tslp_tsk will complete normally. An E_TMOUT error will result if no wup_tsk is issued before the time specified by tmout expires. Specifying tmout = TMO_FEVR = -1 can be used to set the timeout period to forever (no timeout). In this case, tslp_tsk will function exactly the same as slp_tsk causing the issuing task to wait forever for wup_tsk to be issued.
|
||||
|
||||
@subheading NOTES:
|
||||
Since the tslp_tsk system call causes the issuing task to enter WAIT state, tslp_tsk calls may not be nested. It is possible, however, for another task to execute a sus_tsk on a task which has put itself in WAIT state using tslp_tsk. If this happens, the task will enter the combined WAIT-SUSPEND state.
|
||||
|
||||
If you simply wish to delay a task (make it wait for a while), use dly_tsk rather than tslp_tsk.
|
||||
|
||||
@c
|
||||
@c wup_tsk
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection wup_tsk - Wakeup Other Task
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER wup_tsk(
|
||||
ID tskid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID Number (tskid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the task specified by tskid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A tskid less than -4 was specified from a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_OBJ} - Invalid object state (the specified task is in DORMANT state or the issuing task specified itself)
|
||||
|
||||
@code{E_QOVR} - Queuing or nesting overflow (wakeup request queuing count will exceed the maximum value allowed for wupcnt)
|
||||
|
||||
@code{EN_OBJNO} - An object number which could not be accessed on the target node is specified.
|
||||
|
||||
@code{EN_CTXID} - Specified an object on another node when the system call was issued from a task in dispatch disabled state or from a task-independent portion
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
This system call releases the WAIT state of the task specified by tskid caused by the execution of slp_tsk or tslp_tsk.
|
||||
|
||||
A task cannot specify itself in this system call. An E_OBJ error will result if a task specifies itself.
|
||||
|
||||
If the specified task is not in the WAIT state caused by a slp_tsk or tslp_tsk, the wakeup request based on the wup_tsk call will be queued. In other words, a record will be kept that a wup_tsk has been issued for the specified task and no WAIT state will result even if slp_tsk or tslp_tsk is executed by the task later. This is called queuing for wakeup request.
|
||||
|
||||
@subheading NOTES:
|
||||
Wakeup requests are queued as follows. A wakeup request queuing count (wupcnt) is kept in the TCB for each task. Initially (when sta_tsk is executed) the value of wupcnt is 0. Executing wup_tsk on a task which is not waiting for a wakeup increments the wakeup request queuing count by one for the specified task. If slp_tsk or tslp_tsk is executed on that task, its wakeup request queuing count will be decremented by one. If the task with wakeup request queuing count = 0 executes slp_tsk or tslp_tsk, that task will be put in WAIT state rather than decrementing the wakeup request queuing count.
|
||||
|
||||
It is always possible to queue at least one wup_tsk (wupcnt = 1); the maximum allowable number for the wakeup request queuing count (wupcnt) is implementation dependent, and may be any number higher than or equal to one. In other words, while the first wup_tsk issued to a task which is not waiting for a wakeup will not result in an error, it is implementation dependent whether or not any further wup_tsk calls on the same task will result in an error. The ability to queue more than one wakeup request is considered an extended function [level X] for which compatibility and connectivity are not guaranteed.
|
||||
|
||||
An E_QOVR error will result if wup_tsk is issued more than the maximum value allowed for the wakeup request queuing count (wupcnt).
|
||||
|
||||
|
||||
@c
|
||||
@c can_wup
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection can_wup - Cancel Wakeup Request
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER can_wup(
|
||||
INT *p_wupcnt,
|
||||
ID tskid
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{E_OK} - Normal Completion
|
||||
|
||||
@code{E_ID} - Invalid ID Number (tskid was invalid or could not be used)
|
||||
|
||||
@code{E_NOEXS} - Object does not exist (the task specified by tskid does not exist)
|
||||
|
||||
@code{E_OACV} - Object access violation (A tskid less than -4 was specified from a user task. This is implementation dependent.)
|
||||
|
||||
@code{E_OBJ} - Invalid object state (the target task is in DORMANT state)
|
||||
|
||||
@code{EN_OBJNO} - An object number which could not be accessed on the target node is specified.
|
||||
|
||||
@code{EN_CTXID} - Specified an object on another node when the system call was issued from a task in dispatch disabled state or from a task-independent portion
|
||||
|
||||
@code{EN_RPAR} - A value outside the range supported by the issuing node and/or transmission packet format was returned as a return parameter (a value outside supported range was returned for wupcnt)
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
This system call returns the wakeup request queuing count (wupcnt) for the task specified by tskid while canceling all associated wakeup requests. Specifically, it resets the wakeup request queuing count (wupcnt) to 0.
|
||||
|
||||
A task may specify itself by specifying tskid = TSK_SELF = 0. Note, however, that an E_ID error will result if tskid = TSK_SELF = 0 is specified when this system call is issued from a task-independent portion.
|
||||
|
||||
@subheading NOTES:
|
||||
An EN_RPAR error will result if the number of bits used on the target node is larger than that used on the requesting node, and if a value not supported by the requesting node is returned for wupcnt.
|
||||
|
||||
This system call can be used to determine whether or not processing has ended within a certain period when a task should periodically waken up by wup_tsk and do some processing. In other words, if a task monitoring the progress of its processing issues can_wup before issuing a slp_tsk after finishing processing associated with a previous wakeup request, and if wupcnt, one of can_wup's return parameters, is equal to or greater than one, it indicates that the processing for the previous wakeup request does not complete within a required time. This allows the monitoring task to take actions against processing delays.
|
||||
|
||||
|
||||
@@ -1,310 +0,0 @@
|
||||
@c
|
||||
@c COPYRIGHT (c) 1988-2002.
|
||||
@c On-Line Applications Research Corporation (OAR).
|
||||
@c All rights reserved.
|
||||
@c
|
||||
@c This is the chapter from the RTEMS ITRON User's Guide that
|
||||
@c documents the services provided by the time
|
||||
@c manager.
|
||||
@c
|
||||
@c $Id$
|
||||
@c
|
||||
|
||||
@chapter Time Manager
|
||||
|
||||
@section Introduction
|
||||
|
||||
The
|
||||
time manager is ...
|
||||
|
||||
The services provided by the time manager are:
|
||||
|
||||
@itemize @bullet
|
||||
@item @code{get_tim} - Get System Clock
|
||||
@item @code{set_tim} - Set System Clock
|
||||
@item @code{dly_tsk} - Delay Task
|
||||
@item @code{def_cyc} - Define Cyclic Handler
|
||||
@item @code{act_cyc} - Activate Cyclic Handler
|
||||
@item @code{ref_cyc} - Reference Cyclic Handler Status
|
||||
@item @code{def_alm} - Define Alarm Handler
|
||||
@item @code{ref_alm} - Reference Alarm Handler Status
|
||||
@item @code{ret_tmr} - Return from Timer Handler
|
||||
@end itemize
|
||||
|
||||
@section Background
|
||||
|
||||
@section Operations
|
||||
|
||||
@section System Calls
|
||||
|
||||
This section details the time manager's services.
|
||||
A subsection is dedicated to each of this manager's services
|
||||
and describes the calling sequence, related constants, usage,
|
||||
and status codes.
|
||||
|
||||
|
||||
@c
|
||||
@c get_tim
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection get_tim - Get System Clock
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER get_tim(
|
||||
SYSTIME *pk_tim
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c set_tim
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection set_tim - Set System Clock
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER set_tim(
|
||||
SYSTIME *pk_tim
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c dly_tsk
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection dly_tsk - Delay Task
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER dly_tsk(
|
||||
DLYTIME dlytim
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c def_cyc
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection def_cyc - Define Cyclic Handler
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER def_cyc(
|
||||
HNO cycno,
|
||||
T_DCYC *pk_dcyc
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c act_cyc
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection act_cyc - Activate Cyclic Handler
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER act_cyc(
|
||||
HNO cycno,
|
||||
UINT cycact
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c ref_cyc
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection ref_cyc - Reference Cyclic Handler Status
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ref_cyc(
|
||||
T_RCYC *pk_rcyc,
|
||||
HNO cycno
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c def_alm
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection def_alm - Define Alarm Handler
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER def_alm(
|
||||
HNO almno,
|
||||
T_DALM *pk_dalm
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c ref_alm
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection ref_alm - Reference Alarm Handler Status
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
ER ref_alm(
|
||||
T_RALM *pk_ralm,
|
||||
HNO almno
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
|
||||
@c
|
||||
@c ret_tmr
|
||||
@c
|
||||
|
||||
@page
|
||||
@subsection ret_tmr - Return from Timer Handler
|
||||
|
||||
@subheading CALLING SEQUENCE:
|
||||
|
||||
@ifset is-C
|
||||
@example
|
||||
void ret_tmr(
|
||||
|
||||
);
|
||||
@end example
|
||||
@end ifset
|
||||
|
||||
@ifset is-Ada
|
||||
@end ifset
|
||||
|
||||
@subheading STATUS CODES:
|
||||
|
||||
@code{EXXX} -
|
||||
|
||||
@subheading DESCRIPTION:
|
||||
|
||||
@subheading NOTES:
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
@set UPDATED 27 June 2007
|
||||
@set UPDATED-MONTH June 2007
|
||||
@set EDITION 4.10.99.0
|
||||
@set VERSION 4.10.99.0
|
||||
@@ -190,24 +190,4 @@ do
|
||||
per_manager $i exec/posix/src lib/libc libm_extract
|
||||
done
|
||||
|
||||
# Grab the size of the ITRON API
|
||||
cd ${docdir}/itron3.0
|
||||
echo
|
||||
echo "=============================================================="
|
||||
echo "=============================================================="
|
||||
echo "==== ===="
|
||||
echo "==== ITRON 3.0 API SIZE INFORMATION ===="
|
||||
echo "==== ===="
|
||||
echo "=============================================================="
|
||||
echo "=============================================================="
|
||||
echo
|
||||
if [ -r ${objdir}/../../../${bsp}/lib/libitron.a ] ; then
|
||||
for i in *.t
|
||||
do
|
||||
per_manager $i exec/itron/src
|
||||
done
|
||||
else
|
||||
echo "ITRON API not configured."
|
||||
fi
|
||||
|
||||
|
||||
|
||||
@@ -44,9 +44,6 @@ Classic RTEMS API based on the RTEID specification.
|
||||
@item @b{RTEMS POSIX API User's Guide} describes the
|
||||
RTEMS POSIX API that is based on the POSIX 1003.1b API.
|
||||
|
||||
@item @b{RTEMS ITRON 3.0 API User's Guide} describes
|
||||
the RTEMS implementation of the ITRON 3.0 API.
|
||||
|
||||
@item @b{RTEMS Network Supplement} provides information
|
||||
on the network services provided by RTEMS.
|
||||
|
||||
@@ -103,7 +100,7 @@ initialization tasks or threads. It is possible
|
||||
to configure an application to start with a
|
||||
single thread that whose entry point is @code{main()}.
|
||||
|
||||
Each API supported by RTEMS (Classic, POSIX, and ITRON)
|
||||
Each API supported by RTEMS (Internal, Classic, and POSIX)
|
||||
allows the user to configure a set of one or more tasks
|
||||
that are created and started automatically
|
||||
during RTEMS initialization. The RTEMS Automatic
|
||||
@@ -117,8 +114,6 @@ initialization task varies based up API.
|
||||
@item @code{Init} - single Classic API Initialization Task
|
||||
|
||||
@item @code{POSIX_Init} - single POSIX API Initialization Thread
|
||||
|
||||
@item @code{ITRON_Init} - single ITRON API Initialization Task
|
||||
@end itemize
|
||||
|
||||
Regardless of the API used, when the initialization task executes,
|
||||
|
||||
@@ -492,11 +492,6 @@ This corresponds to the
|
||||
|
||||
This must be enabled to support the GNAT/RTEMS run-time.
|
||||
|
||||
@item ENABLE_RTEMS_ITRON
|
||||
is set to "yes" if you want to enable the RTEMS ITRON API support.
|
||||
This corresponds to the
|
||||
@code{configure} option @code{--enable-itron}.
|
||||
|
||||
@item ENABLE_RTEMS_MP
|
||||
is set to "yes" if you want to enable the RTEMS multiprocessing
|
||||
support. This feature is not supported by all RTEMS BSPs and
|
||||
|
||||
-110
@@ -764,115 +764,6 @@ value is twice the configured minimum stack size.
|
||||
|
||||
@end itemize
|
||||
|
||||
@subsection ITRON API Configuration
|
||||
|
||||
The parameters in this section are used to configure resources
|
||||
for the RTEMS ITRON API. They are only relevant if the POSIX API
|
||||
is enabled at configure time using the @code{--enable-itron} option.
|
||||
|
||||
@itemize @bullet
|
||||
@findex CONFIGURE_MAXIMUM_ITRON_TASKS
|
||||
@item @code{CONFIGURE_MAXIMUM_ITRON_TASKS}
|
||||
is the maximum number of
|
||||
ITRON API tasks that can be concurrently active.
|
||||
The default is 0.
|
||||
|
||||
@findex CONFIGURE_MAXIMUM_ITRON_SEMAPHORES
|
||||
@item @code{CONFIGURE_MAXIMUM_ITRON_SEMAPHORES}
|
||||
is the maximum number of
|
||||
ITRON API semaphores that can be concurrently active.
|
||||
The default is 0.
|
||||
|
||||
@findex CONFIGURE_MAXIMUM_ITRON_EVENTFLAGS
|
||||
@item @code{CONFIGURE_MAXIMUM_ITRON_EVENTFLAGS}
|
||||
is the maximum number of
|
||||
ITRON API eventflags that can be concurrently active.
|
||||
The default is 0.
|
||||
|
||||
@findex CONFIGURE_MAXIMUM_ITRON_MAILBOXES
|
||||
@item @code{CONFIGURE_MAXIMUM_ITRON_MAILBOXES}
|
||||
is the maximum number of
|
||||
ITRON API mailboxes that can be concurrently active.
|
||||
The default is 0.
|
||||
|
||||
@findex CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS
|
||||
@item @code{CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS}
|
||||
is the maximum number of
|
||||
ITRON API message buffers that can be concurrently active.
|
||||
The default is 0.
|
||||
|
||||
@findex CONFIGURE_MAXIMUM_ITRON_PORTS
|
||||
@item @code{CONFIGURE_MAXIMUM_ITRON_PORTS}
|
||||
is the maximum number of
|
||||
ITRON API ports that can be concurrently active.
|
||||
The default is 0.
|
||||
|
||||
@findex CONFIGURE_MAXIMUM_ITRON_MEMORY_POOLS
|
||||
@item @code{CONFIGURE_MAXIMUM_ITRON_MEMORY_POOLS}
|
||||
is the maximum number of
|
||||
ITRON API memory pools that can be concurrently active.
|
||||
The default is 0.
|
||||
|
||||
@findex CONFIGURE_MAXIMUM_ITRON_FIXED_MEMORY_POOLS
|
||||
@item @code{CONFIGURE_MAXIMUM_ITRON_FIXED_MEMORY_POOLS}
|
||||
is the maximum number of
|
||||
ITRON API fixed memory pools that can be concurrently active.
|
||||
The default is 0.
|
||||
|
||||
@end itemize
|
||||
|
||||
@subsection ITRON Initialization Task Table Configuration
|
||||
|
||||
The @code{rtems/confdefs.h} configuration system can automatically
|
||||
generate an ITRON Initialization Tasks Table named
|
||||
@code{ITRON_Initialization_tasks} with a single entry. The following
|
||||
parameters control the generation of that table.
|
||||
|
||||
@itemize @bullet
|
||||
@findex CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
@item @code{CONFIGURE_ITRON_INIT_TASK_TABLE} is defined
|
||||
if the user wishes to use a ITRON API Initialization
|
||||
Tasks Table. The application may choose to use the initialization
|
||||
tasks or threads table from another API. By default, this
|
||||
field is not defined as the user MUST select their own
|
||||
API for initialization tasks.
|
||||
|
||||
@findex CONFIGURE_ITRON_HAS_OWN_INIT_TASK_TABLE
|
||||
@item @code{CONFIGURE_ITRON_HAS_OWN_INIT_TASK_TABLE}
|
||||
is defined if the user wishes to define their own ITRON API Initialization
|
||||
Tasks Table. This table should be named @code{ITRON_Initialization_tasks}.
|
||||
By default, this is not defined.
|
||||
|
||||
@findex CONFIGURE_ITRON_INIT_TASK_ENTRY_POINT
|
||||
@item @code{CONFIGURE_ITRON_INIT_TASK_ENTRY_POINT}
|
||||
is the entry point (a.k.a. function name)
|
||||
of the single initialization task defined by the
|
||||
ITRON API Initialization Tasks Table. By default
|
||||
the value is @code{ITRON_Init}.
|
||||
|
||||
@findex CONFIGURE_ITRON_INIT_TASK_ATTRIBUTES
|
||||
@item @code{CONFIGURE_ITRON_INIT_TASK_ATTRIBUTES}
|
||||
is the attribute set
|
||||
of the single initialization task defined by the
|
||||
ITRON API Initialization Tasks Table. By default
|
||||
the value is @code{TA_HLNG}.
|
||||
|
||||
@findex CONFIGURE_ITRON_INIT_TASK_PRIORITY
|
||||
@item @code{CONFIGURE_ITRON_INIT_TASK_PRIORITY}
|
||||
is the initial priority
|
||||
of the single initialization task defined by the
|
||||
ITRON API Initialization Tasks Table. By default
|
||||
the value is @code{1} which is the highest priority
|
||||
in the ITRON API.
|
||||
|
||||
@findex CONFIGURE_ITRON_INIT_TASK_STACK_SIZE
|
||||
@item @code{CONFIGURE_ITRON_INIT_TASK_STACK_SIZE}
|
||||
is the stack size of the single initialization task defined by the
|
||||
ITRON API Initialization Tasks Table. By default
|
||||
value is the configured minimum stack size.
|
||||
|
||||
@end itemize
|
||||
|
||||
@subsection Ada Tasks
|
||||
|
||||
This section defines the system configuration parameters supported
|
||||
@@ -941,7 +832,6 @@ typedef struct @{
|
||||
#endif
|
||||
rtems_api_configuration_table *RTEMS_api_configuration;
|
||||
posix_api_configuration_table *POSIX_api_configuration;
|
||||
itron_api_configuration *ITRON_api_configuration;
|
||||
@} rtems_configuration_table;
|
||||
@end group
|
||||
@end example
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ RTEMS are:
|
||||
@subsection APIs
|
||||
|
||||
RTEMS implements multiple APIs including an Internal API,
|
||||
the Classic API, the POSIX API, and the uITRON API. These
|
||||
the Classic API, and the POSIX API. These
|
||||
APIs share the common foundation of SuperCore objects and
|
||||
thus share object management code. This includes a common
|
||||
scheme for object Ids and for managing object names whether
|
||||
|
||||
Reference in New Issue
Block a user