1 /* 2 * User-mode functions of the SChannel security provider 3 * 4 * Copyright 2007 Yuval Fledel 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 19 */ 20 21 #include <stdarg.h> 22 23 #include "ntstatus.h" 24 #define WIN32_NO_STATUS 25 #include "windef.h" 26 #include "winbase.h" 27 #include "sspi.h" 28 #include "ntsecapi.h" 29 #include "ntsecpkg.h" 30 31 #include "wine/debug.h" 32 33 WINE_DEFAULT_DEBUG_CHANNEL(schannel); 34 35 static SECPKG_USER_FUNCTION_TABLE secPkgUserTables[2] = 36 { { 37 NULL, /* InstanceInit */ 38 NULL, /* InitUserModeContext */ 39 NULL, /* MakeSignature */ 40 NULL, /* VerifySignature */ 41 NULL, /* SealMessage */ 42 NULL, /* UnsealMessage */ 43 NULL, /* GetContextToken */ 44 NULL, /* SpQueryContextAttributes */ 45 NULL, /* CompleteAuthToken */ 46 NULL, /* DeleteUserModeContext */ 47 NULL, /* FormatCredentials */ 48 NULL, /* MarshallSupplementalCreds */ 49 NULL, /* ExportContext */ 50 NULL, /* ImportContext */ 51 }, { 52 NULL, /* InstanceInit */ 53 NULL, /* InitUserModeContext */ 54 NULL, /* MakeSignature */ 55 NULL, /* VerifySignature */ 56 NULL, /* SealMessage */ 57 NULL, /* UnsealMessage */ 58 NULL, /* GetContextToken */ 59 NULL, /* SpQueryContextAttributes */ 60 NULL, /* CompleteAuthToken */ 61 NULL, /* DeleteUserModeContext */ 62 NULL, /* FormatCredentials */ 63 NULL, /* MarshallSupplementalCreds */ 64 NULL, /* ExportContext */ 65 NULL, /* ImportContext */ 66 } 67 }; 68 69 /*********************************************************************** 70 * SpUserModeInitialize (SCHANNEL.@) 71 */ 72 NTSTATUS WINAPI SpUserModeInitialize(ULONG LsaVersion, PULONG PackageVersion, 73 PSECPKG_USER_FUNCTION_TABLE *ppTables, PULONG pcTables) 74 { 75 TRACE("(%u, %p, %p, %p)\n", LsaVersion, PackageVersion, ppTables, pcTables); 76 77 if (LsaVersion != SECPKG_INTERFACE_VERSION) 78 return STATUS_INVALID_PARAMETER; 79 80 *PackageVersion = SECPKG_INTERFACE_VERSION; 81 *pcTables = 2; 82 *ppTables = secPkgUserTables; 83 84 return STATUS_SUCCESS; 85 } 86