andre@1010: /* exdll.h for use with gpg4win andre@1010: * Copyright (C) 1999-2005 Nullsoft, Inc. andre@1010: * andre@1010: * This license applies to everything in the NSIS package, except andre@1010: * where otherwise noted. andre@1010: * andre@1010: * This software is provided 'as-is', without any express or implied andre@1010: * warranty. In no event will the authors be held liable for any andre@1010: * damages arising from the use of this software. andre@1010: * andre@1010: * Permission is granted to anyone to use this software for any andre@1010: * purpose, including commercial applications, and to alter it and andre@1010: * redistribute it freely, subject to the following restrictions: andre@1010: * andre@1010: * 1. The origin of this software must not be misrepresented; you must andre@1010: * not claim that you wrote the original software. If you use this andre@1010: * software in a product, an acknowledgment in the product andre@1010: * documentation would be appreciated but is not required. andre@1010: * andre@1010: * 2. Altered source versions must be plainly marked as such, and must andre@1010: * not be misrepresented as being the original software. andre@1010: * andre@1010: * 3. This notice may not be removed or altered from any source andre@1010: * distribution. andre@1010: ************************************************************ andre@1010: * 2005-11-14 wk Applied license text to orginal exdll.h file from andre@1010: * NSIS 2.0.4 and did some formatting changes. andre@1010: */ andre@1010: andre@1010: #ifndef _EXDLL_H_ andre@1010: #define _EXDLL_H_ andre@1010: andre@1010: /* only include this file from one place in your DLL. (it is all andre@1010: static, if you use it in two places it will fail) */ andre@1010: andre@1010: #define EXDLL_INIT() { \ andre@1010: g_stringsize=(unsigned int)string_size; \ andre@1010: g_stacktop=stacktop; \ andre@1010: g_variables=variables; } andre@1010: andre@1010: /* For page showing plug-ins */ andre@1010: #define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8) andre@1010: #define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd) andre@1010: #define NOTIFY_BYE_BYE 'x' andre@1010: andre@1010: typedef struct _stack_t { andre@1010: struct _stack_t *next; andre@1010: char text[1]; /* This should be the length of string_size. */ andre@1010: } stack_t; andre@1010: andre@1010: andre@1010: static unsigned int g_stringsize; andre@1010: static stack_t **g_stacktop; andre@1010: static char *g_variables; andre@1010: andre@1010: enum andre@1010: { andre@1010: INST_0, // $0 andre@1010: INST_1, // $1 andre@1010: INST_2, // $2 andre@1010: INST_3, // $3 andre@1010: INST_4, // $4 andre@1010: INST_5, // $5 andre@1010: INST_6, // $6 andre@1010: INST_7, // $7 andre@1010: INST_8, // $8 andre@1010: INST_9, // $9 andre@1010: INST_R0, // $R0 andre@1010: INST_R1, // $R1 andre@1010: INST_R2, // $R2 andre@1010: INST_R3, // $R3 andre@1010: INST_R4, // $R4 andre@1010: INST_R5, // $R5 andre@1010: INST_R6, // $R6 andre@1010: INST_R7, // $R7 andre@1010: INST_R8, // $R8 andre@1010: INST_R9, // $R9 andre@1010: INST_CMDLINE, // $CMDLINE andre@1010: INST_INSTDIR, // $INSTDIR andre@1010: INST_OUTDIR, // $OUTDIR andre@1010: INST_EXEDIR, // $EXEDIR andre@1010: INST_LANG, // $LANGUAGE andre@1010: __INST_LAST andre@1010: }; andre@1010: andre@1010: typedef struct { andre@1010: int autoclose; andre@1010: int all_user_var; andre@1010: int exec_error; andre@1010: int abort; andre@1010: int exec_reboot; andre@1010: int reboot_called; andre@1010: int XXX_cur_insttype; /* deprecated */ andre@1010: int XXX_insttype_changed; /* deprecated */ andre@1010: int silent; andre@1010: int instdir_error; andre@1010: int rtl; andre@1010: int errlvl; andre@1010: } exec_flags_t; andre@1010: andre@1010: typedef struct { andre@1010: exec_flags_t *exec_flags; andre@1010: int (__stdcall *ExecuteCodeSegment)(int, HWND); andre@1010: } extra_parameters_t; andre@1010: andre@1010: #endif//_EXDLL_H_