only update affected area of bitmap
[AROS.git] / compiler / purify / src / posinfo.h
blob0bbfef2a79278d91639e7991532061e191de00c4
1 #ifndef _POSINFO_H
2 #define _POSINFO_H
4 extern int Purify_Lineno;
5 extern const char * Purify_Filename;
6 extern const char * Purify_Functionname;
8 typedef struct
10 const char * filename;
11 const char * functionname;
12 int lineno;
14 PosInfo;
16 typedef struct
18 PosInfo caller;
19 PosInfo called;
20 const void * fp;
22 CallStackEntry;
24 typedef struct _CallStackNode CallStackNode;
26 #define PURIFY_CSNE 64
27 #define PURIFY_RememberDepth 4 /* Remember the 4 last functions */
29 struct _CallStackNode
31 CallStackNode * next;
32 CallStackEntry entries[PURIFY_CSNE];
35 typedef struct
37 int nstack;
38 PosInfo current;
39 PosInfo stack[PURIFY_RememberDepth];
41 RememberData;
43 extern CallStackNode * Purify_CallStack;
44 extern CallStackEntry * Purify_CurrentFrame;
46 #define SETPOS(pi) ((pi)->filename = Purify_Filename, \
47 (pi)->functionname = Purify_Functionname, \
48 (pi)->lineno = Purify_Lineno)
50 void Purify_CallFunction (void);
51 void Purify_EnterFunction (const char * filename, const char * functionname,
52 int lineno, const void * fp);
53 void Purify_LeaveFunction (void);
54 void Purify_RememberCallers (RememberData * rd);
55 void Purify_PrintCallers (RememberData * rd);
57 #endif /* _POSINFO_H */