From d5671b160ee1be663a1ed8c56c1cb6b8eb82005f Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 29 Jan 2008 21:37:00 +0000 Subject: 2008-01-29 Joel Sherrill * user/.cvsignore, user/Makefile.am, user/c_user.texi, user/concepts.t, user/conf.t, user/dirstat.texi, user/stackchk.t, user/task.t, user/userext.t: Add new Object Services collection. Tidy up some configuration documentation from earlier changes. * user/object.t: New file. --- doc/ChangeLog | 8 + doc/user/.cvsignore | 1 + doc/user/Makefile.am | 9 +- doc/user/c_user.texi | 4 +- doc/user/concepts.t | 19 +- doc/user/conf.t | 20 +- doc/user/dirstat.texi | 2 +- doc/user/object.t | 781 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/user/stackchk.t | 4 +- doc/user/task.t | 2 +- doc/user/userext.t | 2 +- 11 files changed, 828 insertions(+), 24 deletions(-) create mode 100644 doc/user/object.t (limited to 'doc') diff --git a/doc/ChangeLog b/doc/ChangeLog index d01f548f93..f5d9cc5e66 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,11 @@ +2008-01-29 Joel Sherrill + + * user/.cvsignore, user/Makefile.am, user/c_user.texi, user/concepts.t, + user/conf.t, user/dirstat.texi, user/stackchk.t, user/task.t, + user/userext.t: Add new Object Services collection. Tidy up some + configuration documentation from earlier changes. + * user/object.t: New file. + 2008-01-25 Joel Sherrill * rtems_footer.html.in, common/cpright.texi: Update copyright. Fix diff --git a/doc/user/.cvsignore b/doc/user/.cvsignore index 79dc66fa4b..622fbb7379 100644 --- a/doc/user/.cvsignore +++ b/doc/user/.cvsignore @@ -38,6 +38,7 @@ Makefile.in mdate-sh mp.texi msg.texi +object.texi overview.texi part.texi region.texi diff --git a/doc/user/Makefile.am b/doc/user/Makefile.am index adc47be290..32ed2e8a76 100644 --- a/doc/user/Makefile.am +++ b/doc/user/Makefile.am @@ -18,7 +18,7 @@ GENERATED_FILES = overview.texi concepts.texi datatypes.texi init.texi \ task.texi intr.texi clock.texi timer.texi sem.texi msg.texi event.texi \ signal.texi part.texi region.texi dpmem.texi io.texi fatal.texi \ schedule.texi rtmon.texi barrier.texi bsp.texi userext.texi conf.texi \ - mp.texi stackchk.texi cpuuse.texi + mp.texi stackchk.texi cpuuse.texi object.texi COMMON_FILES += $(top_srcdir)/common/cpright.texi @@ -170,7 +170,12 @@ stackchk.texi: stackchk.t -n "CPU Usage Statistics" < $< > $@ cpuuse.texi: cpuuse.t - $(BMENU2) -p "Stack Bounds Checker stack_checker_report_usage - Report Task Stack Usage" \ + $(BMENU2) -p "Stack Bounds Checker STACK_CHECKER_REPORT_USAGE - Report Task Stack Usage" \ + -u "Top" \ + -n "Object Services" < $< > $@ + +object.texi: object.t + $(BMENU2) -p "CPU Usage Statistics cpu_usage_reset - Reset CPU Usage Statistics" \ -u "Top" \ -n "Directive Status Codes" < $< > $@ diff --git a/doc/user/c_user.texi b/doc/user/c_user.texi index 0ff67a568c..f828bf07cd 100644 --- a/doc/user/c_user.texi +++ b/doc/user/c_user.texi @@ -7,7 +7,7 @@ @c %**end of header @c -@c COPYRIGHT (c) 1988-2006. +@c COPYRIGHT (c) 1988-2008. @c On-Line Applications Research Corporation (OAR). @c All rights reserved. @c @@ -105,6 +105,7 @@ @include mp.texi @include stackchk.texi @include cpuuse.texi +@include object.texi @include dirstat.texi @include example.texi @include glossary.texi @@ -142,6 +143,7 @@ This is the online version of the RTEMS C User's Guide. * Multiprocessing Manager:: * Stack Bounds Checker:: * CPU Usage Statistics:: +* Object Services:: * Directive Status Codes:: * Example Application:: * Glossary:: diff --git a/doc/user/concepts.t b/doc/user/concepts.t index 0763d423b0..5708cd1d9a 100644 --- a/doc/user/concepts.t +++ b/doc/user/concepts.t @@ -230,8 +230,9 @@ directives are not necessary in a properly designed single processor application. In addition, services are provided to portably examine the -three subcomponents of an RTEMS ID. These services are -prototyped as follows: +subcomponents of an RTEMS ID. These services are +described in detail later in this manual but are prototyped +as follows: @cindex obtaining class from object ID @cindex obtaining node from object ID @@ -239,14 +240,16 @@ prototyped as follows: @cindex get class from object ID @cindex get node from object ID @cindex get index from object ID -@findex rtems_get_class -@findex rtems_get_node -@findex rtems_get_index +@findex rtems_object_id_get_api +@findex rtems_object_id_get_class +@findex rtems_object_id_get_node +@findex rtems_object_id_get_index @example -uint32_t rtems_get_class( rtems_id ); -uint32_t rtems_get_node( rtems_id ); -uint32_t rtems_get_index( rtems_id ); +uint32_t rtems_object_id_get_api( rtems_id ); +uint32_t rtems_object_id_get_class( rtems_id ); +uint32_t rtems_object_id_get_node( rtems_id ); +uint32_t rtems_object_id_get_index( rtems_id ); @end example An object control block is a data structure defined diff --git a/doc/user/conf.t b/doc/user/conf.t index bff67ca27d..fcae0a445f 100644 --- a/doc/user/conf.t +++ b/doc/user/conf.t @@ -9,14 +9,6 @@ @c chapter: @c @c CONFIGURE_NEWLIB_EXTENSION - probably not needed -@c CONFIGURE_MALLOC_REGION - probably not needed -@c CONFIGURE_LIBIO_SEMAPHORES - implicitly discussed. -@c CONFIGURE_GNAT_RTEMS -@c CONFIGURE_GNAT_MUTEXES -@c CONFIGURE_GNAT_KEYS -@c CONFIGURE_MAXIMUM_ADA_TASKS -@c CONFIGURE_MAXIMUM_FAKE_ADA_TASKS -@c CONFIGURE_ADA_TASKS_STACK @c @c In addition, there should be examples of defining your own @c Device Driver Table, Init task table, etc. @@ -139,6 +131,18 @@ related configuration parameters supported by @code{rtems/confdefs.h}. @itemize @bullet +@findex CONFIGURE_MALLOC_STATISTICS +@item @code{CONFIGURE_MALLOC_STATISTICS} is defined when the application +wishes to enable the gathering of more detailed statistics on the +C Malloc Family of routines. + +@findex CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK +@item @code{CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK} is defined by a BSP +to indicate that it does not allocate all available memory to the +C Program Heap used by the Malloc Family of routines. If defined, +when @code{malloc()} is unable to allocate memory, it will call +the BSP supplied @code{sbrk()} to obtain more memory. + @findex CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS @item @code{CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS} is set to the maximum number of files that can be concurrently open. Libio requires diff --git a/doc/user/dirstat.texi b/doc/user/dirstat.texi index b1ac891d22..440b3ef9ce 100644 --- a/doc/user/dirstat.texi +++ b/doc/user/dirstat.texi @@ -7,7 +7,7 @@ @c @ifinfo -@node Directive Status Codes, Example Application, CPU Usage Statistics cpu_usage_reset - Reset CPU Usage Statistics, Top +@node Directive Status Codes, Example Application, Object Services OBJECT_GET_CLASS_INFORMATION - Obtain Class Information, Top @end ifinfo @chapter Directive Status Codes @table @b diff --git a/doc/user/object.t b/doc/user/object.t new file mode 100644 index 0000000000..ad5eeff629 --- /dev/null +++ b/doc/user/object.t @@ -0,0 +1,781 @@ +@c +@c COPYRIGHT (c) 1988-2008. +@c On-Line Applications Research Corporation (OAR). +@c All rights reserved. +@c +@c $Id$ +@c + +@chapter Object Services + +@cindex object manipulation + +@section Introduction + +RTEMS provides a collection of services to assist in the +management and usage of the objects created and utilized +via other managers. These services assist in the +manipulation of RTEMS objects independent of the API used +to create them. The object related services provided by +RTEMS are: + +@itemize @bullet +@c build_id +@item @code{@value{DIRPREFIX}build_name} - build object name from characters +@item @code{@value{DIRPREFIX}object_get_classic_name} - lookup name from Id +@item @code{@value{DIRPREFIX}object_get_name} - obtain object name as string +@item @code{@value{DIRPREFIX}object_set_name} - set object name +@item @code{@value{DIRPREFIX}object_id_get_api} - obtain API from Id +@item @code{@value{DIRPREFIX}object_id_get_class} - obtain class from Id +@item @code{@value{DIRPREFIX}object_id_get_node} - obtain node from Id +@item @code{@value{DIRPREFIX}object_id_get_index} - obtain index from Id +@item @code{@value{DIRPREFIX}build_id} - build object id from components +@item @code{@value{DIRPREFIX}object_id_api_minimum} - obtain minimum API value +@item @code{@value{DIRPREFIX}object_id_api_maximum} - obtain maximum API value +@item @code{@value{DIRPREFIX}object_id_api_minimum_class} - obtain minimum class value +@item @code{@value{DIRPREFIX}object_id_api_maximum_class} - obtain maximum class value +@item @code{@value{DIRPREFIX}object_get_api_name} - obtain API name +@item @code{@value{DIRPREFIX}object_get_api_class_name} - obtain class name +@item @code{@value{DIRPREFIX}object_get_class_information} - obtain class information +@end itemize + +@section Background + +@subsection APIs + +RTEMS implements multiple APIs including an Internal API, +the Classic API, the POSIX API, and the uITRON 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 +those names be in the thirty-two bit form used by the Classic +API or C strings. + +The object Id contains a field indicating the API that +an object instance is associated with. This field +holds a numerically small non-zero integer. + +@subsection Object Classes + +Each API consists of a collection of managers. Each manager +is responsible for instances of a particular object class. +Classic API Tasks and POSIX Mutexes example classes. + +The object Id contains a field indicating the class that +an object instance is associated with. This field +holds a numerically small non-zero integer. In all APIs, +a class value of one is reserved for tasks or threads. + +@subsection Object Names + +Every RTEMS object which has an Id may also have a +name associated with it. Depending on the API, names +may be either thirty-two bit integers as in the Classic +API or strings as in the POSIX API. + +Some objects have Ids but do not have a defined way to associate +a name with them. For example, POSIX threads have +Ids but per POSIX do not have names. In RTEMS, objects +not defined to have thirty-two bit names may have string +names assigned to them via the @code{@value{DIRPREFIX}object_set_name} +service. The original impetus in providing this service +was so the normally anonymous POSIX threads could have +a user defined name in CPU Usage Reports. + +@section Operations + +@subsection Decomposing an Object Id + +TBD + +@subsection Building an Object Id + +TBD + +@c +@c +@c +@page +@subsection BUILD_NAME - Build object name from characters + +@cindex build object name + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_build_name +@example +rtems_name rtems_build_name( + uint8_t c1, + uint8_t c2, + uint8_t c3, + uint8_t c4 +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +Returns a name constructed from the four characters. + +@subheading DESCRIPTION: + +This service takes the four characters provided as arguments +and constructs a thirty-two bit object name with @code{c1} +in the most significant byte and @code{c4} in the least +significant byte. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +@c +@c +@c +@page +@subsection OBJECT_GET_CLASSIC_NAME - Lookup name from id + +@cindex get name from id +@cindex obtain name from id + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_build_name +@example +rtems_status_code rtems_object_get_classic_name( + rtems_id id, + rtems_name *name +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +@code{@value{RPREFIX}SUCCESSFUL} - name looked up successfully@* +@code{@value{RPREFIX}INVALID_ADDRESS} - invalid name pointer@* +@code{@value{RPREFIX}INVALID_ID} - invalid object id@* + +@subheading DESCRIPTION: + +This service looks up the name for the object @code{id} specified +and, if found, places the result in @code{*name}. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +@c +@c +@c +@page +@subsection OBJECT_GET_NAME - Obtain object name as string + +@cindex get object name as string +@cindex obtain object name as string + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_build_name +@example +char *rtems_object_get_name( + rtems_id id, + size_t length, + char *name +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +Returns a pointer to the name if successful or @code{NULL} +otherwise. + +@subheading DESCRIPTION: + +This service looks up the name of the object specified by +@code{id} and places it in the memory pointed to by @code{name}. +Every attempt is made to return name as a printable string even +if the object has the Classic API thirty-two bit style name. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +@c +@c +@c +@page +@subsection SET_OBJECT_NAME - Set object name + +@cindex set object name + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_build_name +@example +rtems_status_code rtems_object_set_name( + rtems_id id, + const char *name +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +@code{@value{RPREFIX}SUCCESSFUL} - name looked up successfully@* +@code{@value{RPREFIX}INVALID_ADDRESS} - invalid name pointer@* +@code{@value{RPREFIX}INVALID_ID} - invalid object id@* + +@subheading DESCRIPTION: + +This service sets the name of @code{id} to that specified +by the string located at @code{name}. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +If the object specified by @code{id} is of a class that +has a string name, this method will free the existing +name to the RTEMS Workspace and allocate enough memory +from the RTEMS Workspace to make a copy of the string +located at @code{name}. + +If the object specified by @code{id} is of a class that +has a thirty-two bit integer style name, then the first +four characters in @code{*name} will be used to construct +the name. +name to the RTEMS Workspace and allocate enough memory +from the RTEMS Workspace to make a copy of the string + + +@c +@c +@c +@page +@subsection OBJECT_ID_GET_API - Obtain API from Id + +@cindex obtain API from id + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_object_id_get_api +@example +uint32_t rtems_object_id_get_api( + rtems_id id +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +Returns the API portion of the object Id. + +@subheading DESCRIPTION: + +This directive returns the API portion of the provided object @code{id}. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +This directive does NOT validate the @code{id} provided. + +@c +@c +@c +@page +@subsection OBJECT_ID_GET_CLASS - Obtain Class from Id + +@cindex obtain class from object id + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_object_id_get_class +@example +uint32_t rtems_object_id_get_class( + rtems_id id +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +Returns the class portion of the object Id. + +@subheading DESCRIPTION: + +This directive returns the class portion of the provided object @code{id}. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +This directive does NOT validate the @code{id} provided. + +@c +@c +@c +@page +@subsection OBJECT_ID_GET_NODE - Obtain Node from Id + +@cindex obtain node from object id + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_object_id_get_node +@example +uint32_t rtems_object_id_get_node( + rtems_id id +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +Returns the node portion of the object Id. + +@subheading DESCRIPTION: + +This directive returns the node portion of the provided object @code{id}. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +This directive does NOT validate the @code{id} provided. + +@c +@c +@c +@page +@subsection OBJECT_ID_GET_INDEX - Obtain Index from Id + +@cindex obtain index from object id + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_object_id_get_index +@example +uint32_t rtems_object_id_get_index( + rtems_id id +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +Returns the index portion of the object Id. + +@subheading DESCRIPTION: + +This directive returns the index portion of the provided object @code{id}. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +This directive does NOT validate the @code{id} provided. + +@c +@c +@c +@page +@subsection BUILD_ID - Build Object Id From Components + +@cindex build object id from components + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_build_id +@example +rtems_id rtems_build_id( + uint32_t api, + uint32_t class, + uint32_t node, + uint32_t index +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +Returns an object Id constructed from the provided arguments. + +@subheading DESCRIPTION: + +This service constructs an object Id from the provided +@code{api}, @code{class}, @code{node}, and @code{index}. + + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +This directive does NOT validate the arguments provided +or the Object id returned. + +@c +@c +@c +@page +@subsection OBJECT_ID_API_MINIMUM - Obtain Minimum API Value + +@cindex obtain minimum API value + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_object_id_api_minimum +@example +uint32_t rtems_object_id_api_minimum(void); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +Returns the minimum valid for the API portion of an object Id. + +@subheading DESCRIPTION: + +This service returns the minimum valid for the API portion of +an object Id. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +@c +@c +@c +@page +@subsection OBJECT_ID_API_MAXIMUM - Obtain Maximum API Value + +@cindex obtain maximum API value + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_object_id_api_maximum +@example +uint32_t rtems_object_id_api_maximum(void); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +Returns the maximum valid for the API portion of an object Id. + +@subheading DESCRIPTION: + +This service returns the maximum valid for the API portion of +an object Id. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +@c +@c +@c +@page +@subsection OBJECT_API_MINIMUM_CLASS - Obtain Minimum Class Value + +@cindex obtain minimum class value + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_object_api_minimum_class +@example +uint32_t rtems_object_api_minimum_class( + uint32_t api +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +If @code{api} is not valid, -1 is returned. + +If successful, this service returns the minimum valid for the class +portion of an object Id for the specified @code{api}. + +@subheading DESCRIPTION: + +This service returns the minimum valid for the class portion of +an object Id for the specified @code{api}. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +@c +@c +@c +@page +@subsection OBJECT_API_MAXIMUM_CLASS - Obtain Maximum Class Value + +@cindex obtain maximum class value + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_object_api_maximum_class +@example +uint32_t rtems_object_api_maximum_class( + uint32_t api +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +If @code{api} is not valid, -1 is returned. + +If successful, this service returns the maximum valid for the class +portion of an object Id for the specified @code{api}. + +@subheading DESCRIPTION: + +This service returns the maximum valid for the class portion of +an object Id for the specified @code{api}. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + + +@c +@c +@c +@page +@subsection OBJECT_GET_API_NAME - Obtain API Name + +@cindex obtain API name + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_object_get_api_name +@example +const char *rtems_object_get_api_name( + uint32_t api +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +If @code{api} is not valid, the string @code{"BAD API"} is returned. + +If @code{class} is not valid, the string @code{"BAD CLASS"} is returned. + +If successful, this service returns a pointer to a string +containing the name of the specified @code{api}. + +@subheading DESCRIPTION: + +This service returns the name of the specified @code{api}. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +The string returned is from constant space. Do not modify +or free it. + +@c +@c +@c +@page +@subsection OBJECT_GET_API_CLASS_NAME - Obtain Class Name + +@cindex obtain class name + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_object_get_api_class_name +@example +const char *rtems_object_get_api_class_name( + uint32_t class, + uint32_t api +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES + +If @code{api} is not valid, the string @code{"BAD API"} is returned. + +If @code{class} is not valid, the string @code{"BAD CLASS"} is returned. + +If successful, this service returns a pointer to a string +containing the name of the specified @code{api}/@code{class} pair. + +@subheading DESCRIPTION: + +This service returns the name of the object class indicated by the +specified @code{api} and @code{class}. + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + +The string returned is from constant space. Do not modify +or free it. + +@c +@c +@c +@page +@subsection OBJECT_GET_CLASS_INFORMATION - Obtain Class Information + +@cindex obtain class information + +@subheading CALLING SEQUENCE: + +@ifset is-C +@findex rtems_object_get_class_information +@example +rtems_status_code rtems_object_get_class_information( + uint32_t api, + uint32_t class, + rtems_object_api_class_information *info +); +@end example +@end ifset + +@ifset is-Ada +@example +TBD +@end example +@end ifset + +@subheading DIRECTIVE STATUS CODES +@code{@value{RPREFIX}SUCCESSFUL} - information obtained successfully@* +@code{@value{RPREFIX}INVALID_ADDRESS} - @code{info} is NULL@* +@code{@value{RPREFIX}INVALID_NUMBER} - invalid @code{api} or @code{class} + +If successful, the structure located at @code{info} will be filled +in with information about the specified @code{api}/@code{class} pairing. + +@subheading DESCRIPTION: + +This service returns information about the object class indicated by the +specified @code{api} and @code{class}. This structure is defined as +follows: + +@example +typedef struct @{ + rtems_id minimum_id; + rtems_id maximum_id; + uint32_t maximum; + boolean auto_extend; + uint32_t unallocated; +@} rtems_object_api_class_information; +@end example + +@subheading NOTES: + +This directive is strictly local and does not impact task scheduling. + diff --git a/doc/user/stackchk.t b/doc/user/stackchk.t index d88773b5db..69dca92135 100644 --- a/doc/user/stackchk.t +++ b/doc/user/stackchk.t @@ -161,7 +161,7 @@ and status codes. @c rtems_stack_checker_is_blown @c @page -@subsection stack_checker_is_blown - Has Current Task Blown Its Stack +@subsection STACK_CHECKER_IS_BLOWN - Has Current Task Blown Its Stack @subheading CALLING SEQUENCE: @@ -195,7 +195,7 @@ the task was created and it looks for damage to the high water mark pattern for the worst case usage of the task being called. @page -@subsection stack_checker_report_usage - Report Task Stack Usage +@subsection STACK_CHECKER_REPORT_USAGE - Report Task Stack Usage @subheading CALLING SEQUENCE: diff --git a/doc/user/task.t b/doc/user/task.t index 858879a94b..8ab2ecdb2f 100644 --- a/doc/user/task.t +++ b/doc/user/task.t @@ -1817,7 +1817,7 @@ should be considered volatile. @findex rtems_task_variable_delete @example rtems_status_code rtems_task_variable_delete( - rtems_id tid, + rtems_id id, void **task_variable ); @end example diff --git a/doc/user/userext.t b/doc/user/userext.t index 1d6308d1b1..2bb4c81006 100644 --- a/doc/user/userext.t +++ b/doc/user/userext.t @@ -150,7 +150,7 @@ returned when the extension is created: @ifset is-C @example @group -index = rtems_get_index(extension_id); +index = rtems_object_id_get_index(extension_id); @end group @end example @end ifset -- cgit v1.2.3