-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This adds the original version of December 2018 downloaded from https://nsis.sourceforge.io/EnVar_plug-in
- Loading branch information
0 parents
commit 0d52666
Showing
14 changed files
with
1,829 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
/* | ||
* apih | ||
* | ||
* This file is a part of NSIS. | ||
* | ||
* Copyright (C) 1999-2013 Nullsoft and Contributors | ||
* | ||
* Licensed under the zlib/libpng license (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* | ||
* Licence details can be found in the file COPYING. | ||
* | ||
* This software is provided 'as-is', without any express or implied | ||
* warranty. | ||
*/ | ||
|
||
#ifndef _NSIS_EXEHEAD_API_H_ | ||
#define _NSIS_EXEHEAD_API_H_ | ||
|
||
// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version | ||
// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x)) | ||
// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {} | ||
|
||
#define NSISPIAPIVER_1_0 0x00010000 | ||
#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0 | ||
|
||
// NSIS Plug-In Callback Messages | ||
enum NSPIM | ||
{ | ||
NSPIM_UNLOAD, // This is the last message a plugin gets, do final cleanup | ||
NSPIM_GUIUNLOAD, // Called after .onGUIEnd | ||
}; | ||
|
||
// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback() | ||
// Return NULL for unknown messages | ||
// Should always be __cdecl for future expansion possibilities | ||
typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM); | ||
|
||
// extra_parameters data structures containing other interesting stuff | ||
// but the stack, variables and HWND passed on to plug-ins. | ||
typedef struct | ||
{ | ||
int autoclose; | ||
int all_user_var; | ||
int exec_error; | ||
int abort; | ||
int exec_reboot; // NSIS_SUPPORT_REBOOT | ||
int reboot_called; // NSIS_SUPPORT_REBOOT | ||
int XXX_cur_insttype; // depreacted | ||
int plugin_api_version; // see NSISPIAPIVER_CURR | ||
// used to be XXX_insttype_changed | ||
int silent; // NSIS_CONFIG_SILENT_SUPPORT | ||
int instdir_error; | ||
int rtl; | ||
int errlvl; | ||
int alter_reg_view; | ||
int status_update; | ||
} exec_flags_t; | ||
|
||
#ifndef NSISCALL | ||
# define NSISCALL __stdcall | ||
#endif | ||
|
||
typedef struct { | ||
exec_flags_t *exec_flags; | ||
int (NSISCALL *ExecuteCodeSegment)(int, HWND); | ||
void (NSISCALL *validate_filename)(TCHAR *); | ||
int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors | ||
} extra_parameters; | ||
|
||
// Definitions for page showing plug-ins | ||
// See Ui.c to understand better how they're used | ||
|
||
// sent to the outer window to tell it to go to the next inner window | ||
#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8) | ||
|
||
// custom pages should send this message to let NSIS know they're ready | ||
#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd) | ||
|
||
// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning | ||
#define NOTIFY_BYE_BYE 'x' | ||
|
||
#endif /* _PLUGIN_H_ */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,229 @@ | ||
/* | ||
* nsis_tchar.h | ||
* | ||
* This file is a part of NSIS. | ||
* | ||
* Copyright (C) 1999-2013 Nullsoft and Contributors | ||
* | ||
* This software is provided 'as-is', without any express or implied | ||
* warranty. | ||
* | ||
* For Unicode support by Jim Park -- 08/30/2007 | ||
*/ | ||
|
||
// Jim Park: Only those we use are listed here. | ||
|
||
#pragma once | ||
|
||
#ifdef _UNICODE | ||
|
||
#ifndef _T | ||
#define __T(x) L ## x | ||
#define _T(x) __T(x) | ||
#define _TEXT(x) __T(x) | ||
#endif | ||
|
||
#ifndef _TCHAR_DEFINED | ||
#define _TCHAR_DEFINED | ||
#if !defined(_NATIVE_WCHAR_T_DEFINED) && !defined(_WCHAR_T_DEFINED) | ||
typedef unsigned short TCHAR; | ||
#else | ||
typedef wchar_t TCHAR; | ||
#endif | ||
#endif | ||
|
||
|
||
// program | ||
#define _tenviron _wenviron | ||
#define __targv __wargv | ||
|
||
// printfs | ||
#define _ftprintf fwprintf | ||
#define _sntprintf _snwprintf | ||
#if (defined(_MSC_VER) && (_MSC_VER<=1310||_MSC_FULL_VER<=140040310)) || defined(__MINGW32__) | ||
# define _stprintf swprintf | ||
#else | ||
# define _stprintf _swprintf | ||
#endif | ||
#define _tprintf wprintf | ||
#define _vftprintf vfwprintf | ||
#define _vsntprintf _vsnwprintf | ||
#if defined(_MSC_VER) && (_MSC_VER<=1310) | ||
# define _vstprintf vswprintf | ||
#else | ||
# define _vstprintf _vswprintf | ||
#endif | ||
|
||
// scanfs | ||
#define _tscanf wscanf | ||
#define _stscanf swscanf | ||
|
||
// string manipulations | ||
#define _tcscat wcscat | ||
#define _tcschr wcschr | ||
#define _tcsclen wcslen | ||
#define _tcscpy wcscpy | ||
#define _tcsdup _wcsdup | ||
#define _tcslen wcslen | ||
#define _tcsnccpy wcsncpy | ||
#define _tcsncpy wcsncpy | ||
#define _tcsrchr wcsrchr | ||
#define _tcsstr wcsstr | ||
#define _tcstok wcstok | ||
|
||
// string comparisons | ||
#define _tcscmp wcscmp | ||
#define _tcsicmp _wcsicmp | ||
#define _tcsncicmp _wcsnicmp | ||
#define _tcsncmp wcsncmp | ||
#define _tcsnicmp _wcsnicmp | ||
|
||
// upper / lower | ||
#define _tcslwr _wcslwr | ||
#define _tcsupr _wcsupr | ||
#define _totlower towlower | ||
#define _totupper towupper | ||
|
||
// conversions to numbers | ||
#define _tcstoi64 _wcstoi64 | ||
#define _tcstol wcstol | ||
#define _tcstoul wcstoul | ||
#define _tstof _wtof | ||
#define _tstoi _wtoi | ||
#define _tstoi64 _wtoi64 | ||
#define _ttoi _wtoi | ||
#define _ttoi64 _wtoi64 | ||
#define _ttol _wtol | ||
|
||
// conversion from numbers to strings | ||
#define _itot _itow | ||
#define _ltot _ltow | ||
#define _i64tot _i64tow | ||
#define _ui64tot _ui64tow | ||
|
||
// file manipulations | ||
#define _tfopen _wfopen | ||
#define _topen _wopen | ||
#define _tremove _wremove | ||
#define _tunlink _wunlink | ||
|
||
// reading and writing to i/o | ||
#define _fgettc fgetwc | ||
#define _fgetts fgetws | ||
#define _fputts fputws | ||
#define _gettchar getwchar | ||
|
||
// directory | ||
#define _tchdir _wchdir | ||
|
||
// environment | ||
#define _tgetenv _wgetenv | ||
#define _tsystem _wsystem | ||
|
||
// time | ||
#define _tcsftime wcsftime | ||
|
||
#else // ANSI | ||
|
||
#ifndef _T | ||
#define _T(x) x | ||
#define _TEXT(x) x | ||
#endif | ||
|
||
#ifndef _TCHAR_DEFINED | ||
#define _TCHAR_DEFINED | ||
typedef char TCHAR; | ||
#endif | ||
|
||
// program | ||
#define _tenviron environ | ||
#define __targv __argv | ||
|
||
// printfs | ||
#define _ftprintf fprintf | ||
#define _sntprintf _snprintf | ||
#define _stprintf sprintf | ||
#define _tprintf printf | ||
#define _vftprintf vfprintf | ||
#define _vsntprintf _vsnprintf | ||
#define _vstprintf vsprintf | ||
|
||
// scanfs | ||
#define _tscanf scanf | ||
#define _stscanf sscanf | ||
|
||
// string manipulations | ||
#define _tcscat strcat | ||
#define _tcschr strchr | ||
#define _tcsclen strlen | ||
#define _tcscnlen strnlen | ||
#define _tcscpy strcpy | ||
#define _tcsdup _strdup | ||
#define _tcslen strlen | ||
#define _tcsnccpy strncpy | ||
#define _tcsrchr strrchr | ||
#define _tcsstr strstr | ||
#define _tcstok strtok | ||
|
||
// string comparisons | ||
#define _tcscmp strcmp | ||
#define _tcsicmp _stricmp | ||
#define _tcsncmp strncmp | ||
#define _tcsncicmp _strnicmp | ||
#define _tcsnicmp _strnicmp | ||
|
||
// upper / lower | ||
#define _tcslwr _strlwr | ||
#define _tcsupr _strupr | ||
|
||
#define _totupper toupper | ||
#define _totlower tolower | ||
|
||
// conversions to numbers | ||
#define _tcstol strtol | ||
#define _tcstoul strtoul | ||
#define _tstof atof | ||
#define _tstoi atoi | ||
#define _tstoi64 _atoi64 | ||
#define _tstoi64 _atoi64 | ||
#define _ttoi atoi | ||
#define _ttoi64 _atoi64 | ||
#define _ttol atol | ||
|
||
// conversion from numbers to strings | ||
#define _i64tot _i64toa | ||
#define _itot _itoa | ||
#define _ltot _ltoa | ||
#define _ui64tot _ui64toa | ||
|
||
// file manipulations | ||
#define _tfopen fopen | ||
#define _topen _open | ||
#define _tremove remove | ||
#define _tunlink _unlink | ||
|
||
// reading and writing to i/o | ||
#define _fgettc fgetc | ||
#define _fgetts fgets | ||
#define _fputts fputs | ||
#define _gettchar getchar | ||
|
||
// directory | ||
#define _tchdir _chdir | ||
|
||
// environment | ||
#define _tgetenv getenv | ||
#define _tsystem system | ||
|
||
// time | ||
#define _tcsftime strftime | ||
|
||
#endif | ||
|
||
// is functions (the same in Unicode / ANSI) | ||
#define _istgraph isgraph | ||
#define _istascii __isascii | ||
|
||
#define __TFILE__ _T(__FILE__) | ||
#define __TDATE__ _T(__DATE__) | ||
#define __TTIME__ _T(__TIME__) |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Oops, something went wrong.