Files
rtems/cpukit/libmisc/stackchk/internal.h
Ralf Corsepius 3e08d4ee62 2004-03-26 Ralf Corsepius <ralf_corsepius@rtems.org>
* libmisc/capture/capture-cli.c, libmisc/capture/capture.c,
	libmisc/capture/capture.h, libmisc/cpuuse/cpuuse.c,
	libmisc/devnull/devnull.c, libmisc/fsmount/fsmount.h,
	libmisc/monitor/mon-config.c, libmisc/monitor/mon-dname.c,
	libmisc/monitor/mon-driver.c, libmisc/monitor/mon-extension.c,
	libmisc/monitor/mon-itask.c, libmisc/monitor/mon-monitor.c,
	libmisc/monitor/mon-mpci.c, libmisc/monitor/mon-object.c,
	libmisc/monitor/mon-prmisc.c, libmisc/monitor/mon-queue.c,
	libmisc/monitor/mon-server.c, libmisc/monitor/mon-symbols.c,
	libmisc/monitor/monitor.h, libmisc/monitor/symbols.h,
	libmisc/mw-fb/mw_uid.c, libmisc/rtmonuse/rtmonuse.c,
	libmisc/serdbg/serdbg.h, libmisc/serdbg/serdbgio.c,
	libmisc/serdbg/termios_printk.c, libmisc/serdbg/termios_printk.h,
	libmisc/shell/shell.c, libmisc/shell/shell.h, libmisc/stackchk/check.c,
	libmisc/stackchk/internal.h: Convert to using c99 fixed size types.
2004-03-26 06:59:18 +00:00

96 lines
1.7 KiB
C

/* internal.h
*
* This include file contains internal information
* for the RTEMS stack checker.
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#ifndef __INTERNAL_STACK_CHECK_h
#define __INTERNAL_STACK_CHECK_h
#ifdef __cplusplus
extern "C" {
#endif
/*
* This structure is used to fill in and compare the "end of stack"
* marker pattern.
* pattern area must be a multiple of 4 words.
*/
#ifdef CPU_STACK_CHECK_SIZE
#define PATTERN_SIZE_WORDS (((CPU_STACK_CHECK_SIZE / 4) + 3) & ~0x3)
#else
#define PATTERN_SIZE_WORDS (4)
#endif
#define PATTERN_SIZE_BYTES (PATTERN_SIZE_WORDS * sizeof(uint32_t ))
typedef struct {
uint32_t pattern[ PATTERN_SIZE_WORDS ];
} Stack_check_Control;
/*
* The pattern used to fill the entire stack.
*/
#define BYTE_PATTERN 0xA5
#define U32_PATTERN 0xA5A5A5A5
/*
* Stack_check_Create_extension
*/
boolean Stack_check_Create_extension(
Thread_Control *running,
Thread_Control *the_thread
);
/*
* Stack_check_Begin_extension
*/
void Stack_check_Begin_extension(
Thread_Control *the_thread
);
/*
* Stack_check_Switch_extension
*/
void Stack_check_Switch_extension(
Thread_Control *running,
Thread_Control *heir
);
/*
* Stack_check_Fatal_extension
*/
void Stack_check_Fatal_extension(
Internal_errors_Source source,
boolean is_internal,
uint32_t status
);
/*
* Stack_check_Dump_usage
*/
void Stack_check_Dump_usage( void );
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */