Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/SoftEtherVPN/SoftEtherVPN_Stable.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/Mayaqua/Microsoft.h')
-rw-r--r--src/Mayaqua/Microsoft.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/src/Mayaqua/Microsoft.h b/src/Mayaqua/Microsoft.h
index e8683fc9..6685e197 100644
--- a/src/Mayaqua/Microsoft.h
+++ b/src/Mayaqua/Microsoft.h
@@ -181,6 +181,9 @@ typedef void *HWND;
#define VLAN_CONNECTION_NAME_OLD "%s - SoftEther VPN Client 2.0"
+// Suspend handler windows class name
+#define MS_SUSPEND_HANDLER_WNDCLASSNAME "MS_SUSPEND_HANDLER"
+
// Command line format in the service mode
#define SVC_RUN_COMMANDLINE L"\"%s\" /service"
@@ -632,6 +635,14 @@ typedef struct MS_DRIVER_VER
UINT Major, Minor, Build;
} MS_DRIVER_VER;
+// Suspend handler
+typedef struct MS_SUSPEND_HANDLER
+{
+ HWND hWnd;
+ THREAD *Thread;
+ volatile bool AboutToClose;
+} MS_SUSPEND_HANDLER;
+
// Function prototype
void MsInit();
@@ -1139,6 +1150,15 @@ void MsTest();
bool MsSaveSystemInfo(wchar_t *dst_filename);
bool MsCollectVpnInfo(BUF *bat, char *tmpdir, char *svc_name, wchar_t *config_name, wchar_t *logdir_name);
+MS_SUSPEND_HANDLER *MsNewSuspendHandler();
+void MsFreeSuspendHandler(MS_SUSPEND_HANDLER *h);
+
+void MsBeginVLanCard();
+void MsEndVLanCard();
+bool MsIsVLanCardShouldStop();
+void MsProcEnterSuspend();
+void MsProcLeaveSuspend();
+
// Inner functions
#ifdef MICROSOFT_C
@@ -1173,8 +1193,10 @@ HANDLE MsCreateUserToken();
SID *MsGetSidFromAccountName(char *name);
void MsFreeSid(SID *sid);
bool CALLBACK MsEnumResourcesInternalProc(HMODULE hModule, const char *type, char *name, LONG_PTR lParam);
-
void CALLBACK MsScmDispatcher(DWORD argc, LPTSTR *argv);
+LRESULT CALLBACK MsSuspendHandlerWindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
+void MsSuspendHandlerThreadProc(THREAD *thread, void *param);
+
#endif // MICROSOFT_C