From 2432b2c7e8002c1f98cc87950fc44521a9c48924 Mon Sep 17 00:00:00 2001 From: Thomas Bluemel Date: Mon, 24 Nov 2003 14:25:28 +0000 Subject: [PATCH] added skeleton for msgina.dll svn path=/trunk/; revision=6777 --- reactos/Makefile | 4 +- reactos/lib/msgina/.cvsignore | 8 + reactos/lib/msgina/Makefile | 45 +++++ reactos/lib/msgina/msgina.c | 50 ++++++ reactos/lib/msgina/msgina.def | 55 ++++++ reactos/lib/msgina/msgina.edf | 55 ++++++ reactos/lib/msgina/msgina.rc | 39 +++++ reactos/lib/msgina/stubs.c | 307 ++++++++++++++++++++++++++++++++++ 8 files changed, 561 insertions(+), 2 deletions(-) create mode 100644 reactos/lib/msgina/.cvsignore create mode 100644 reactos/lib/msgina/Makefile create mode 100644 reactos/lib/msgina/msgina.c create mode 100644 reactos/lib/msgina/msgina.def create mode 100644 reactos/lib/msgina/msgina.edf create mode 100644 reactos/lib/msgina/msgina.rc create mode 100644 reactos/lib/msgina/stubs.c diff --git a/reactos/Makefile b/reactos/Makefile index 4a21bc4553f..c8cf8183c0e 100644 --- a/reactos/Makefile +++ b/reactos/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.179 2003/11/19 03:20:25 rcampbell Exp $ +# $Id: Makefile,v 1.180 2003/11/24 14:25:28 weiden Exp $ # # Global makefile # @@ -43,7 +43,7 @@ DLLS_KBD = kbdus kbdgr kbdfr # imagehlp DLLS = advapi32 cards crtdll fmifs freetype gdi32 kernel32 packet lzexpand msafd \ msvcrt ntdll psapi richedit rpcrt4 secur32 syssetup twain user32 version winedbgc \ - winspool ws2help ws2_32 wsock32 wshirda iphlpapi mswsock msimg32 d3d8thk \ + winspool ws2help ws2_32 wsock32 wshirda iphlpapi msgina mswsock msimg32 d3d8thk \ $(DLLS_KBD) SUBSYS = smss win32k csrss ntvdm diff --git a/reactos/lib/msgina/.cvsignore b/reactos/lib/msgina/.cvsignore new file mode 100644 index 00000000000..9103a525d39 --- /dev/null +++ b/reactos/lib/msgina/.cvsignore @@ -0,0 +1,8 @@ +*.coff +*.dll +*.d +*.a +*.o +*.sym +*.map +*.tmp diff --git a/reactos/lib/msgina/Makefile b/reactos/lib/msgina/Makefile new file mode 100644 index 00000000000..7932a8ed206 --- /dev/null +++ b/reactos/lib/msgina/Makefile @@ -0,0 +1,45 @@ +# $Id: Makefile,v 1.1 2003/11/24 14:25:28 weiden Exp $ + +PATH_TO_TOP = ../.. + +TARGET_TYPE = dynlink + +TARGET_NAME = msgina + +TARGET_BASE = 0x75970000 + +TARGET_CFLAGS = \ + -I./include \ + -DUNICODE \ + -D__REACTOS__ \ + -Wall \ + -Werror \ + -fno-builtin + +# require os code to explicitly request A/W version of structs/functions +TARGET_CFLAGS += -D_DISABLE_TIDENTS + +TARGET_LFLAGS = -nostartfiles -nostdlib + +TARGET_SDKLIBS = ntdll.a + +TARGET_GCCLIBS = gcc + +TARGET_PCH = + +TARGET_CLEAN = + +TARGET_OBJECTS = msgina.o stubs.o + +DEP_OBJECTS = $(TARGET_OBJECTS) + +include $(PATH_TO_TOP)/rules.mak + +include $(TOOLS_PATH)/helper.mk + +include $(TOOLS_PATH)/depend.mk + +%/TAGS: + etags -o $(@D)/TAGS $(@D)/\*.c + +etags: ./TAGS diff --git a/reactos/lib/msgina/msgina.c b/reactos/lib/msgina/msgina.c new file mode 100644 index 00000000000..c8f9c067ee8 --- /dev/null +++ b/reactos/lib/msgina/msgina.c @@ -0,0 +1,50 @@ +/* + * ReactOS kernel + * Copyright (C) 1998, 1999, 2000, 2001 ReactOS Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ +/* $Id: msgina.c,v 1.1 2003/11/24 14:25:28 weiden Exp $ + * + * PROJECT: ReactOS user32.dll + * FILE: lib/msgina/msgina.c + * PURPOSE: ReactOS Logon GINA DLL + * PROGRAMMER: Thomas Weidenmueller (w3seek@users.sourceforge.net) + * UPDATE HISTORY: + * 24-11-2003 Created + */ +#include +#include + +BOOL STDCALL +DllMain( + PVOID hinstDll, + ULONG dwReason, + PVOID reserved) +{ + switch (dwReason) + { + case DLL_PROCESS_ATTACH: + break; + case DLL_THREAD_ATTACH: + break; + case DLL_THREAD_DETACH: + break; + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} + diff --git a/reactos/lib/msgina/msgina.def b/reactos/lib/msgina/msgina.def new file mode 100644 index 00000000000..063c4f311ae --- /dev/null +++ b/reactos/lib/msgina/msgina.def @@ -0,0 +1,55 @@ +LIBRARY msgina.dll + +EXPORTS +;MSGINA.1@0 +;MSGINA.2@0 +;MSGINA.3@0 +;MSGINA.4@0 +;MSGINA.5@0 +;MSGINA.6@0 +;MSGINA.7@0 +;MSGINA.8@0 +;MSGINA.9@0 +;MSGINA.10@0 +;MSGINA.11@0 +;MSGINA.12@0 +;MSGINA.13@0 +;MSGINA.14@0 +;MSGINA.15@0 +;MSGINA.16@0 +;MSGINA.17@0 +;MSGINA.18@0 +;MSGINA.19@0 +;MSGINA.20@0 +;MSGINA.21@0 +;MSGINA.22@0 +;MSGINA.23@0 +;MSGINA.24@0 +;MSGINA.25@0 +;MSGINA.26@0 +;MSGINA.27@0 +;MSGINA.28@0 +ShellShutdownDialog@12 +WlxActivateUserShell@16 +WlxDisplayLockedNotice@4 +WlxDisplaySASNotice@4 +WlxInitialize@20 +WlxIsLockOk@4 +WlxIsLogoffOk@4 +WlxLoggedOnSAS@12 +WlxLoggedOutSAS@32 +WlxLogoff@4 +WlxNegotiate@8 +WlxShutdown@8 +WlxWkstaLockedSAS@8 +WlxScreenSaverNotify@8 +WlxStartApplication@16 +WlxDisplayStatusMessage@20 +WlxGetStatusMessage@16 +WlxNetworkProviderLoad@8 +;WlxReconnectNotify@0 +WlxRemoveStatusMessage@4 +WlxDisconnectNotify@4 +WlxGetConsoleSwitchCredentials@8 + +; EOF diff --git a/reactos/lib/msgina/msgina.edf b/reactos/lib/msgina/msgina.edf new file mode 100644 index 00000000000..12b74f63ff4 --- /dev/null +++ b/reactos/lib/msgina/msgina.edf @@ -0,0 +1,55 @@ +LIBRARY msgina.dll + +EXPORTS +;MSGINA.1=MSGINA.1@0 +;MSGINA.2=MSGINA.2@0 +;MSGINA.3=MSGINA.3@0 +;MSGINA.4=MSGINA.4@0 +;MSGINA.5=MSGINA.5@0 +;MSGINA.6=MSGINA.6@0 +;MSGINA.7=MSGINA.7@0 +;MSGINA.8=MSGINA.8@0 +;MSGINA.9=MSGINA.9@0 +;MSGINA.10=MSGINA.10@0 +;MSGINA.11=MSGINA.11@0 +;MSGINA.12=MSGINA.12@0 +;MSGINA.13=MSGINA.13@0 +;MSGINA.14=MSGINA.14@0 +;MSGINA.15=MSGINA.15@0 +;MSGINA.16=MSGINA.16@0 +;MSGINA.17=MSGINA.17@0 +;MSGINA.18=MSGINA.18@0 +;MSGINA.19=MSGINA.19@0 +;MSGINA.20=MSGINA.20@0 +;MSGINA.21=MSGINA.21@0 +;MSGINA.22=MSGINA.22@0 +;MSGINA.23=MSGINA.23@0 +;MSGINA.24=MSGINA.24@0 +;MSGINA.25=MSGINA.25@0 +;MSGINA.26=MSGINA.26@0 +;MSGINA.27=MSGINA.27@0 +;MSGINA.28=MSGINA.28@0 +ShellShutdownDialog=ShellShutdownDialog@12 +WlxActivateUserShell=WlxActivateUserShell@16 +WlxDisplayLockedNotice=WlxDisplayLockedNotice@4 +WlxDisplaySASNotice=WlxDisplaySASNotice@4 +WlxInitialize=WlxInitialize@20 +WlxIsLockOk=WlxIsLockOk@4 +WlxIsLogoffOk=WlxIsLogoffOk@4 +WlxLoggedOnSAS=WlxLoggedOnSAS@12 +WlxLoggedOutSAS=WlxLoggedOutSAS@32 +WlxLogoff=WlxLogoff@4 +WlxNegotiate=WlxNegotiate@8 +WlxShutdown=WlxShutdown@8 +WlxWkstaLockedSAS=WlxWkstaLockedSAS@8 +WlxScreenSaverNotify=WlxScreenSaverNotify@8 +WlxStartApplication=WlxStartApplication@16 +WlxDisplayStatusMessage=WlxDisplayStatusMessage@20 +WlxGetStatusMessage=WlxGetStatusMessage@16 +WlxNetworkProviderLoad=WlxNetworkProviderLoad@8 +;WlxReconnectNotify=WlxReconnectNotify@0 +WlxRemoveStatusMessage=WlxRemoveStatusMessage@4 +WlxDisconnectNotify=WlxDisconnectNotify@4 +WlxGetConsoleSwitchCredentials=WlxGetConsoleSwitchCredentials@8 + +; EOF diff --git a/reactos/lib/msgina/msgina.rc b/reactos/lib/msgina/msgina.rc new file mode 100644 index 00000000000..ec9787a8fc6 --- /dev/null +++ b/reactos/lib/msgina/msgina.rc @@ -0,0 +1,39 @@ +#include +#include + +LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT + +VS_VERSION_INFO VERSIONINFO + FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD + PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", RES_STR_COMPANY_NAME + VALUE "FileDescription", "ReactOS Logon GINA DLL\0" + VALUE "FileVersion", RES_STR_FILE_VERSION + VALUE "InternalName", "msgina\0" + VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT + VALUE "OriginalFilename", "msgina.dll\0" + VALUE "ProductName", RES_STR_PRODUCT_NAME + VALUE "ProductVersion", RES_STR_PRODUCT_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + + diff --git a/reactos/lib/msgina/stubs.c b/reactos/lib/msgina/stubs.c new file mode 100644 index 00000000000..f97bd1fa8ae --- /dev/null +++ b/reactos/lib/msgina/stubs.c @@ -0,0 +1,307 @@ +/* $Id: stubs.c,v 1.1 2003/11/24 14:25:28 weiden Exp $ + * + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS user32.dll + * FILE: lib/msgina/stubs.c + * PURPOSE: msgina.dll stubs + * PROGRAMMER: Thomas Weidenmueller (w3seek@users.sourceforge.net) + * NOTES: If you implement a function, remove it from this file + * UPDATE HISTORY: + * 24-11-2003 Created + */ +#include +#include + +#define UNIMPLEMENTED \ + DbgPrint("MSGINA: %s at %s:%d is UNIMPLEMENTED!\n",__FUNCTION__,__FILE__,__LINE__) + + +DWORD WINAPI +ShellShutdownDialog( + HWND hParent, + DWORD Unknown, + BOOL bHideLogoff) +{ + /* Return values: + * 0x00: Cancelled/Help + * 0x01: Log off user + * 0x02: Shutdown + * 0x04: Reboot + * 0x10: Standby + * 0x40: Hibernate + */ + UNIMPLEMENTED; + return FALSE; +} + +/* + * @unimplemented + */ +BOOL WINAPI +WlxActivateUserShell( + PVOID pWlxContext, + PWSTR pszDesktopName, + PWSTR pszMprLogonScript, + PVOID pEnvironment) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +VOID WINAPI +WlxDisplayLockedNotice( + PVOID pWlxContext) +{ + UNIMPLEMENTED; + return; +} + + +/* + * @unimplemented + */ +VOID WINAPI +WlxDisplaySASNotice( + PVOID pWlxContext) +{ + UNIMPLEMENTED; + return; +} + + +/* + * @unimplemented + */ +BOOL WINAPI +WlxInitialize( + LPWSTR lpWinsta, + HANDLE hWlx, + PVOID pvReserved, + PVOID pWinlogonFunctions, + PVOID *pWlxContext) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +BOOL WINAPI +WlxIsLockOk( + PVOID pWlxContext) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +BOOL WINAPI +WlxIsLogoffOk( + PVOID pWlxContext) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +int WINAPI +WlxLoggedOnSAS( + PVOID pWlxContext, + DWORD dwSasType, + PVOID pReserved) +{ + UNIMPLEMENTED; + return 0; +} + + +/* + * @unimplemented + */ +int WINAPI +WlxLoggedOutSAS( + PVOID pWlxContext, + DWORD dwSasType, + PLUID pAuthenticationId, + PSID pLogonSid, + PDWORD pdwOptions, + PHANDLE phToken, + PWLX_MPR_NOTIFY_INFO pNprNotifyInfo, + PVOID *pProfile) +{ + UNIMPLEMENTED; + return 0; +} + + +/* + * @unimplemented + */ +VOID WINAPI +WlxLogoff( + PVOID pWlxContext) +{ + UNIMPLEMENTED; + return; +} + + +/* + * @unimplemented + */ +BOOL WINAPI +WlxNegotiate( + DWORD dwWinlogonVersion, + PDWORD pdwDllVersion) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +VOID WINAPI +WlxShutdown( + PVOID pWlxContext, + DWORD ShutdownType) +{ + UNIMPLEMENTED; + return; +} + + +/* + * @unimplemented + */ +int WINAPI +WlxWkstaLockedSAS( + PVOID pWlxContext, + DWORD dwSasType) +{ + UNIMPLEMENTED; + return 0; +} + + +/* + * @unimplemented + */ +BOOL WINAPI +WlxScreenSaverNotify( + PVOID pWlxContext, + BOOL *pSecure) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +BOOL WINAPI +WlxStartApplication( + PVOID pWlxContext, + PWSTR pszDesktopName, + PVOID pEnvironment, + PWSTR pszCmdLine) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +BOOL WINAPI +WlxDisplayStatusMessage( + PVOID pWlxContext, + HDESK hDesktop, + DWORD dwOptions, + PWSTR pTitle, + PWSTR pMessage) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +BOOL WINAPI +WlxGetStatusMessage( + PVOID pWlxContext, + DWORD *pdwOptions, + PWSTR pMessage, + DWORD dwBufferSize) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +BOOL WINAPI +WlxNetworkProviderLoad( + PVOID pWlxContext, + PWLX_MPR_NOTIFY_INFO pNprNotifyInfo) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +BOOL WINAPI +WlxRemoveStatusMessage( + PVOID pWlxContext) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +VOID WINAPI +WlxDisconnectNotify( + PVOID pWlxContext) +{ + UNIMPLEMENTED; + return; +} + + +/* + * @unimplemented + */ +BOOL WINAPI +WlxGetConsoleSwitchCredentials( + PVOID pWlxContext, + PVOID pCredInfo) +{ + UNIMPLEMENTED; + return FALSE; +} +