From baff4dafe1ff85d128a55e7b73780ca28f5c7faf Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 1 Nov 2004 13:22:41 +0000 Subject: 2004-11-01 Joel Sherrill * score/cpu/no_cpu/rtems/score/cpu.h, score/include/rtems/debug.h, score/include/rtems/seterr.h, score/include/rtems/system.h, score/include/rtems/score/address.h, score/include/rtems/score/apiext.h, score/include/rtems/score/apimutex.h, score/include/rtems/score/bitfield.h, score/include/rtems/score/chain.h, score/include/rtems/score/context.h, score/include/rtems/score/copyrt.h, score/include/rtems/score/coremsg.h, score/include/rtems/score/coremutex.h, score/include/rtems/score/coresem.h, score/include/rtems/score/heap.h, score/include/rtems/score/interr.h, score/include/rtems/score/isr.h, score/include/rtems/score/mpci.h, score/include/rtems/score/mppkt.h, score/include/rtems/score/objectmp.h, score/include/rtems/score/priority.h, score/include/rtems/score/stack.h, score/include/rtems/score/states.h, score/include/rtems/score/sysstate.h, score/include/rtems/score/thread.h, score/include/rtems/score/threadmp.h, score/include/rtems/score/threadq.h, score/include/rtems/score/tod.h, score/include/rtems/score/tqdata.h, score/include/rtems/score/userext.h, score/include/rtems/score/watchdog.h, score/include/rtems/score/wkspace.h, score/inline/rtems/score/address.inl, score/inline/rtems/score/chain.inl, score/inline/rtems/score/coremsg.inl, score/inline/rtems/score/coremutex.inl, score/inline/rtems/score/coresem.inl, score/inline/rtems/score/heap.inl, score/inline/rtems/score/isr.inl, score/inline/rtems/score/mppkt.inl, score/inline/rtems/score/objectmp.inl, score/inline/rtems/score/priority.inl, score/inline/rtems/score/stack.inl, score/inline/rtems/score/states.inl, score/inline/rtems/score/sysstate.inl, score/inline/rtems/score/thread.inl, score/inline/rtems/score/threadmp.inl, score/inline/rtems/score/tod.inl, score/inline/rtems/score/tqdata.inl, score/inline/rtems/score/userext.inl, score/inline/rtems/score/watchdog.inl, score/inline/rtems/score/wkspace.inl: Add Doxygen comments -- working modifications which are not complete and may have broken code. Committing so work and testing can proceed. * score/Doxyfile, score/mainpage.h: New files. --- cpukit/score/include/rtems/score/apiext.h | 112 ++++++++++++++++++------------ 1 file changed, 67 insertions(+), 45 deletions(-) (limited to 'cpukit/score/include/rtems/score/apiext.h') diff --git a/cpukit/score/include/rtems/score/apiext.h b/cpukit/score/include/rtems/score/apiext.h index d5e496c001..cdf09f8013 100644 --- a/cpukit/score/include/rtems/score/apiext.h +++ b/cpukit/score/include/rtems/score/apiext.h @@ -1,8 +1,11 @@ -/* apiext.h +/** + * @file apiext.h * * This is the API Extensions Handler. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* + * COPYRIGHT (c) 1989-2004. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -12,90 +15,109 @@ * $Id$ */ - #ifndef __API_EXTENSIONS_h #define __API_EXTENSIONS_h +/** + * @defgroup ScoreAPIExtension API Extension Handler + * + * This group contains functionality which provides mechanisms for the + * SuperCore to perform API specific actions without there being + * "up-references" from the SuperCore to APIs. If these references + * were allowed in the implementation, the cohesion would be too high + * and adding an API would be more difficult. The SuperCore is supposed + * to be largely independent of any API. + */ +/**@{*/ + #include #include -/* - * The control structure which defines the points at which an API - * can add an extension to the system initialization thread. +/** + * This type defines the prototype of the Predriver Hook. */ - typedef void (*API_extensions_Predriver_hook)(void); + +/** + * This type defines the prototype of the Postdriver Hook. + */ typedef void (*API_extensions_Postdriver_hook)(void); + +/** + * This type defines the prototype of the Postswitch Hook. + */ typedef void (*API_extensions_Postswitch_hook)( Thread_Control * ); - +/** + * The control structure which defines the points at which an API + * can add an extension to the system initialization thread. + */ typedef struct { + /** This field allows this structure to be used with the Chain Handler. */ Chain_Node Node; + /** + * This field is the callout invoked during RTEMS initialization after + * RTEMS data structures are initialized before device driver initialization + * has occurred. + * + * @note If this field is NULL, no extension is invoked. + */ API_extensions_Predriver_hook predriver_hook; + /** + * This field is the callout invoked during RTEMS initialization after + * RTEMS data structures and device driver initialization has occurred + * but before multitasking is initiated. + * + * @note If this field is NULL, no extension is invoked. + */ API_extensions_Postdriver_hook postdriver_hook; + /** + * This field is the callout invoked during each context switch + * in the context of the heir thread. + * + * @note If this field is NULL, no extension is invoked. + */ API_extensions_Postswitch_hook postswitch_hook; } API_extensions_Control; -/* +/** * This is the list of API extensions to the system initialization. */ - SCORE_EXTERN Chain_Control _API_extensions_List; -/* - * _API_extensions_Initialization - * - * DESCRIPTION: - * +/** * This routine initializes the API extension handler. - * */ - void _API_extensions_Initialization( void ); -/* - * _API_extensions_Add +/** + * This routine adds an extension to the active set of API extensions. * - * DESCRIPTION: - * - * XXX + * @param the_extension (in) is the extension set to add. */ - void _API_extensions_Add( API_extensions_Control *the_extension ); -/* - * _API_extensions_Run_predriver - * - * DESCRIPTION: - * - * XXX +/** + * This routine executes all of the predriver callouts. */ - void _API_extensions_Run_predriver( void ); -/* - * _API_extensions_Run_postdriver - * - * DESCRIPTION: - * - * XXX +/** + * This routine executes all of the postdriver callouts. */ - void _API_extensions_Run_postdriver( void ); -/* - * _API_extensions_Run_postswitch - * - * DESCRIPTION: - * - * XXX +/** + * This routine executes all of the post context switch callouts. + */ */ - void _API_extensions_Run_postswitch( void ); +/**@}*/ + #endif /* end of include file */ -- cgit v1.2.3