This implementation provides a fully functional implementation of
all methods specified by
ISystemSupport. As with all
ISystemSupport modules, this module is the back-end for the
System module.
This implementation relies on the target's runtime support libraries
(i.e. fflush() and putchar()). Therefore the functions are re-entrant
(thread-safe) if the underlying rts library is re-entrant.
metaonly config SysStd.common$ // module-wide |
|
Common module configuration parameters
XDCscript usage |
meta-domain |
DETAILS
All modules have this configuration parameter. Its name
contains the '$' character to ensure it does not conflict with
configuration parameters declared by the module. This allows
new configuration parameters to be added in the future without
any chance of breaking existing modules.
SysStd.abort( ) // module-wide |
|
Backend for System.abort()
Void SysStd_abort( String str );
ARGUMENTS
str
message to output just prior to aborting
If non-NULL, this string should be output just prior to
terminating.
DETAILS
This function is called by
System.abort() prior to calling
the ANSI C Standard library function
abort(). So, to ensure the
abort processing of the system's ANSI C Standard library completes,
this function should return to its caller.
This abort function writes the string via putchar()
and flushes via fflush() to stdout.
SEE
SysStd.exit( ) // module-wide |
|
Backend for System.exit()
Void SysStd_exit( Int stat );
ARGUMENTS
stat
status value passed to all "atexit" handlers
This value is passed to all "atexit" handles bound via
System.atexit(). If the application exits via the
ANSI C Standard
exit() function rather than via System_exit(),
stat will be equal to
System.STATUS_UNKNOWN.
DETAILS
This function is called as part the normal "atexit" processing
performed by the ANSI C Standard Library's
exit() function;
System.exit() directly calls ANSI
exit().
This function is called after all "atexit" handlers bound via
System.atexit() are run and it
is always called while "inside" the the
System gate.
To ensure that all exit processing of the system's ANSI C
Standard Library completes, this function should return to its caller.
Exit handlers bound using the ANSI C Standard Library atexit()
function may run before or after this function.
This exit function flushes via fflush() to stdout.
SEE
SysStd.flush( ) // module-wide |
|
Backend for System.flush()
DETAILS
This function is simply called by
System_flush
to output any characters buffered by the underlying
SystemSupport
module to an output device.
This flush function flushes via fflush() to stdout.
SEE
SysStd.putch( ) // module-wide |
|
Backend for System.printf() and System.putch()
Void SysStd_putch( Char ch );
ARGUMENTS
ch
character to output
DETAILS
Output a single character. This function is called by
System_printf() to write each character
of formated output specified by its arguments.
This function outputs the character via putchar().
SEE
SysStd.ready( ) // module-wide |
|
Test if character output can proceed
DETAILS
This function is called by
System prior to performing
any character output . If this function returns
FALSE, the
System
functions that would normally call
putch() simply return
(with an appropriate error status) without ever calling
putch.
This always returns TRUE.
SEE
module-wide built-ins |
|
// Get this module's unique id
Bool SysStd_Module_startupDone( );
// Test if this module has completed startup
// The heap from which this module allocates memory
Bool SysStd_Module_hasMask( );
// Test whether this module has a diagnostics mask
Bits16 SysStd_Module_getMask( );
// Returns the diagnostics mask for this module
Void SysStd_Module_setMask( Bits16 mask );
// Set the diagnostics mask for this module