winhelp: Fixed memory leak in macro handling.
[wine] / programs / winhlp32 / macro.h
1 /*
2  * Help Viewer
3  *
4  * Copyright 1996 Ulrich Schmid
5  * Copyright 2002 Eric Pouech
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20  */
21
22 #include <stdarg.h>
23
24 #include "windef.h"
25 #include "winbase.h"
26
27 struct lexret {
28   LPCSTR        proto;
29   BOOL          bool;
30   LONG          integer;
31   LPCSTR        string;
32   FARPROC       function;
33 };
34
35 extern struct lexret yylval;
36
37 BOOL MACRO_ExecuteMacro(LPCSTR);
38 int  MACRO_Lookup(const char* name, struct lexret* lr);
39
40 enum token_types {EMPTY, VOID_FUNCTION, BOOL_FUNCTION, INTEGER, STRING, IDENTIFIER};
41 void CALLBACK MACRO_About(void);
42 void CALLBACK MACRO_AddAccelerator(LONG, LONG, LPCSTR);
43 void CALLBACK MACRO_ALink(LPCSTR, LONG, LPCSTR);
44 void CALLBACK MACRO_Annotate(void);
45 void CALLBACK MACRO_AppendItem(LPCSTR, LPCSTR, LPCSTR, LPCSTR);
46 void CALLBACK MACRO_Back(void);
47 void CALLBACK MACRO_BackFlush(void);
48 void CALLBACK MACRO_BookmarkDefine(void);
49 void CALLBACK MACRO_BookmarkMore(void);
50 void CALLBACK MACRO_BrowseButtons(void);
51 void CALLBACK MACRO_ChangeButtonBinding(LPCSTR, LPCSTR);
52 void CALLBACK MACRO_ChangeEnable(LPCSTR, LPCSTR);
53 void CALLBACK MACRO_ChangeItemBinding(LPCSTR, LPCSTR);
54 void CALLBACK MACRO_CheckItem(LPCSTR);
55 void CALLBACK MACRO_CloseSecondarys(void);
56 void CALLBACK MACRO_CloseWindow(LPCSTR);
57 void CALLBACK MACRO_Compare(LPCSTR);
58 void CALLBACK MACRO_Contents(void);
59 void CALLBACK MACRO_ControlPanel(LPCSTR, LPCSTR, LONG);
60 void CALLBACK MACRO_CopyDialog(void);
61 void CALLBACK MACRO_CopyTopic(void);
62 void CALLBACK MACRO_CreateButton(LPCSTR, LPCSTR, LPCSTR);
63 void CALLBACK MACRO_DeleteItem(LPCSTR);
64 void CALLBACK MACRO_DeleteMark(LPCSTR);
65 void CALLBACK MACRO_DestroyButton(LPCSTR);
66 void CALLBACK MACRO_DisableButton(LPCSTR);
67 void CALLBACK MACRO_DisableItem(LPCSTR);
68 void CALLBACK MACRO_EnableButton(LPCSTR);
69 void CALLBACK MACRO_EnableItem(LPCSTR);
70 void CALLBACK MACRO_EndMPrint(void);
71 void CALLBACK MACRO_ExecFile(LPCSTR, LPCSTR, LONG, LPCSTR);
72 void CALLBACK MACRO_ExecProgram(LPCSTR, LONG);
73 void CALLBACK MACRO_Exit(void);
74 void CALLBACK MACRO_ExtAbleItem(LPCSTR, LONG);
75 void CALLBACK MACRO_ExtInsertItem(LPCSTR, LPCSTR, LPCSTR, LPCSTR, LONG, LONG);
76 void CALLBACK MACRO_ExtInsertMenu(LPCSTR, LPCSTR, LPCSTR, LONG, LONG);
77 BOOL CALLBACK MACRO_FileExist(LPCSTR);
78 void CALLBACK MACRO_FileOpen(void);
79 void CALLBACK MACRO_Find(void);
80 void CALLBACK MACRO_Finder(void);
81 void CALLBACK MACRO_FloatingMenu(void);
82 void CALLBACK MACRO_Flush(void);
83 void CALLBACK MACRO_FocusWindow(LPCSTR);
84 void CALLBACK MACRO_Generate(LPCSTR, LONG, LONG);
85 void CALLBACK MACRO_GotoMark(LPCSTR);
86 void CALLBACK MACRO_HelpOn(void);
87 void CALLBACK MACRO_HelpOnTop(void);
88 void CALLBACK MACRO_History(void);
89 void CALLBACK MACRO_IfThen(BOOL, LPCSTR);
90 void CALLBACK MACRO_IfThenElse(BOOL, LPCSTR, LPCSTR);
91 BOOL CALLBACK MACRO_InitMPrint(void);
92 void CALLBACK MACRO_InsertItem(LPCSTR, LPCSTR, LPCSTR, LPCSTR, LONG);
93 void CALLBACK MACRO_InsertMenu(LPCSTR, LPCSTR, LONG);
94 BOOL CALLBACK MACRO_IsBook(void);
95 BOOL CALLBACK MACRO_IsMark(LPCSTR);
96 BOOL CALLBACK MACRO_IsNotMark(LPCSTR);
97 void CALLBACK MACRO_JumpContents(LPCSTR, LPCSTR);
98 void CALLBACK MACRO_JumpContext(LPCSTR, LPCSTR, LONG);
99 void CALLBACK MACRO_JumpHash(LPCSTR, LPCSTR, LONG);
100 void CALLBACK MACRO_JumpHelpOn(void);
101 void CALLBACK MACRO_JumpID(LPCSTR, LPCSTR);
102 void CALLBACK MACRO_JumpKeyword(LPCSTR, LPCSTR, LPCSTR);
103 void CALLBACK MACRO_KLink(LPCSTR, LONG, LPCSTR, LPCSTR);
104 void CALLBACK MACRO_Menu(void);
105 void CALLBACK MACRO_MPrintHash(LONG);
106 void CALLBACK MACRO_MPrintID(LPCSTR);
107 void CALLBACK MACRO_Next(void);
108 void CALLBACK MACRO_NoShow(void);
109 void CALLBACK MACRO_PopupContext(LPCSTR, LONG);
110 void CALLBACK MACRO_PopupHash(LPCSTR, LONG);
111 void CALLBACK MACRO_PopupId(LPCSTR, LPCSTR);
112 void CALLBACK MACRO_PositionWindow(LONG, LONG, LONG, LONG, LONG, LPCSTR);
113 void CALLBACK MACRO_Prev(void);
114 void CALLBACK MACRO_Print(void);
115 void CALLBACK MACRO_PrinterSetup(void);
116 void CALLBACK MACRO_RegisterRoutine(LPCSTR, LPCSTR, LPCSTR);
117 void CALLBACK MACRO_RemoveAccelerator(LONG, LONG);
118 void CALLBACK MACRO_ResetMenu(void);
119 void CALLBACK MACRO_SaveMark(LPCSTR);
120 void CALLBACK MACRO_Search(void);
121 void CALLBACK MACRO_SetContents(LPCSTR, LONG);
122 void CALLBACK MACRO_SetHelpOnFile(LPCSTR);
123 void CALLBACK MACRO_SetPopupColor(LONG, LONG, LONG);
124 void CALLBACK MACRO_ShellExecute(LPCSTR, LPCSTR, LONG, LONG, LPCSTR, LPCSTR);
125 void CALLBACK MACRO_ShortCut(LPCSTR, LPCSTR, LONG, LONG, LPCSTR);
126 void CALLBACK MACRO_TCard(LONG);
127 void CALLBACK MACRO_Test(LONG);
128 BOOL CALLBACK MACRO_TestALink(LPCSTR);
129 BOOL CALLBACK MACRO_TestKLink(LPCSTR);
130 void CALLBACK MACRO_UncheckItem(LPCSTR);
131 void CALLBACK MACRO_UpdateWindow(LPCSTR, LPCSTR);
132
133 /* Local Variables:    */
134 /* c-file-style: "GNU" */
135 /* End:                */