source: rtems/cpukit/libmisc/stackchk/internal.h @ 77c4089

Last change on this file since 77c4089 was df49c60, checked in by Joel Sherrill <joel.sherrill@…>, on Jun 12, 2000 at 3:00:15 PM

Merged from 4.5.0-beta3a

  • Property mode set to 100644
File size: 1.7 KB
Line 
1/*  internal.h
2 *
3 *  This include file contains internal information
4 *  for the RTEMS stack checker.
5 *
6 *  COPYRIGHT (c) 1989-1999.
7 *  On-Line Applications Research Corporation (OAR).
8 *
9 *  The license and distribution terms for this file may be
10 *  found in the file LICENSE in this distribution or at
11 *  http://www.OARcorp.com/rtems/license.html.
12 *
13 *  $Id$
14 */
15
16#ifndef __INTERNAL_STACK_CHECK_h
17#define __INTERNAL_STACK_CHECK_h
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23/*
24 *  This structure is used to fill in and compare the "end of stack"
25 *  marker pattern.
26 *  pattern area must be a multiple of 4 words.
27 */
28
29#ifdef CPU_STACK_CHECK_SIZE
30#define PATTERN_SIZE_WORDS      (((CPU_STACK_CHECK_SIZE / 4) + 3) & ~0x3)
31#else
32#define PATTERN_SIZE_WORDS      (4)
33#endif
34
35#define PATTERN_SIZE_BYTES      (PATTERN_SIZE_WORDS * sizeof(unsigned32))
36
37typedef struct {
38   unsigned32  pattern[ PATTERN_SIZE_WORDS ];
39} Stack_check_Control;
40
41/*
42 *  The pattern used to fill the entire stack.
43 */
44
45#define BYTE_PATTERN 0xA5
46#define U32_PATTERN 0xA5A5A5A5
47
48/*
49 *  Stack_check_Create_extension
50 */
51
52boolean Stack_check_Create_extension(
53  Thread_Control *running,
54  Thread_Control *the_thread
55);
56
57/*
58 *  Stack_check_Begin_extension
59 */
60
61void Stack_check_Begin_extension(
62  Thread_Control *the_thread
63);
64
65/*
66 *  Stack_check_Switch_extension
67 */
68
69void Stack_check_Switch_extension(
70  Thread_Control *running,
71  Thread_Control *heir
72);
73
74/*
75 *  Stack_check_Fatal_extension
76 */
77
78void Stack_check_Fatal_extension(
79    Internal_errors_Source  source,
80    boolean                 is_internal,
81    unsigned32              status
82);
83
84/*
85 *  Stack_check_Dump_usage
86 */
87
88void Stack_check_Dump_usage( void );
89
90#ifdef __cplusplus
91}
92#endif
93
94#endif
95/* end of include file */
Note: See TracBrowser for help on using the repository browser.