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:
Joel Sherrill
2010-06-17 18:45:36 +00:00
parent 97e2fc3f61
commit 11be37d1e3
33 changed files with 20 additions and 7817 deletions
+14
View File
@@ -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
View File
@@ -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
-1
View File
@@ -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
View File
@@ -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}.
-10
View File
@@ -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">
-37
View File
@@ -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
-102
View File
@@ -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-?
-187
View File
@@ -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
-389
View File
@@ -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.
-4
View File
@@ -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
-191
View File
@@ -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
-230
View File
@@ -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
-306
View File
@@ -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:
-144
View File
@@ -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
-338
View File
@@ -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
-401
View File
@@ -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
-162
View File
@@ -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:
-14
View File
@@ -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.
-395
View File
@@ -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
-4
View File
@@ -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
-767
View File
File diff suppressed because it is too large Load Diff
-388
View File
@@ -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.
-310
View File
@@ -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:
-4
View File
@@ -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
-20
View File
@@ -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
+1 -6
View File
@@ -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,
-5
View File
@@ -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
View File
@@ -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
View File
@@ -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