kernel32: Support multiple labels in IdnToNameprepUnicode.
[wine] / dlls / secur32 / thunks.h
1 /* Copyright (C) 2004 Juan Lang
2  *
3  * This file defines thunks between wide char and multibyte functions for
4  * SSPs that only provide one or the other.
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 #ifndef __SECUR32_THUNKS_H__
22 #define __SECUR32_THUNKS_H__
23
24 /* Prototypes for functions that thunk between wide char and multibyte versions,
25  * for SSPs that only provide one or the other.
26  */
27 SECURITY_STATUS SEC_ENTRY thunk_AcquireCredentialsHandleA(
28  SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, ULONG fCredentialsUse,
29  PLUID pvLogonID, PVOID pAuthData, SEC_GET_KEY_FN pGetKeyFn,
30  PVOID pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry) DECLSPEC_HIDDEN;
31 SECURITY_STATUS SEC_ENTRY thunk_AcquireCredentialsHandleW(
32  SEC_WCHAR *pszPrincipal, SEC_WCHAR *pszPackage, ULONG fCredentialsUse,
33  PLUID pvLogonID, PVOID pAuthData, SEC_GET_KEY_FN pGetKeyFn,
34  PVOID pvGetKeyArgument, PCredHandle phCredential, PTimeStamp ptsExpiry) DECLSPEC_HIDDEN;
35 SECURITY_STATUS SEC_ENTRY thunk_InitializeSecurityContextA(
36  PCredHandle phCredential, PCtxtHandle phContext,
37  SEC_CHAR *pszTargetName, ULONG fContextReq,
38  ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput,
39  ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput,
40  ULONG *pfContextAttr, PTimeStamp ptsExpiry) DECLSPEC_HIDDEN;
41 SECURITY_STATUS SEC_ENTRY thunk_InitializeSecurityContextW(
42  PCredHandle phCredential, PCtxtHandle phContext,
43  SEC_WCHAR *pszTargetName, ULONG fContextReq,
44  ULONG Reserved1, ULONG TargetDataRep, PSecBufferDesc pInput,
45  ULONG Reserved2, PCtxtHandle phNewContext, PSecBufferDesc pOutput,
46  ULONG *pfContextAttr, PTimeStamp ptsExpiry) DECLSPEC_HIDDEN;
47 SECURITY_STATUS SEC_ENTRY thunk_ImportSecurityContextA(
48  SEC_CHAR *pszPackage, PSecBuffer pPackedContext, void *Token,
49  PCtxtHandle phContext) DECLSPEC_HIDDEN;
50 SECURITY_STATUS SEC_ENTRY thunk_ImportSecurityContextW(
51  SEC_WCHAR *pszPackage, PSecBuffer pPackedContext, void *Token,
52  PCtxtHandle phContext) DECLSPEC_HIDDEN;
53 SECURITY_STATUS SEC_ENTRY thunk_AddCredentialsA(PCredHandle hCredentials,
54  SEC_CHAR *pszPrincipal, SEC_CHAR *pszPackage, ULONG fCredentialUse,
55  void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument,
56  PTimeStamp ptsExpiry) DECLSPEC_HIDDEN;
57 SECURITY_STATUS SEC_ENTRY thunk_AddCredentialsW(PCredHandle hCredentials,
58  SEC_WCHAR *pszPrincipal, SEC_WCHAR *pszPackage, ULONG fCredentialUse,
59  void *pAuthData, SEC_GET_KEY_FN pGetKeyFn, void *pvGetKeyArgument,
60  PTimeStamp ptsExpiry) DECLSPEC_HIDDEN;
61 SECURITY_STATUS SEC_ENTRY thunk_QueryCredentialsAttributesA(
62  PCredHandle phCredential, ULONG ulAttribute, void *pBuffer) DECLSPEC_HIDDEN;
63 SECURITY_STATUS SEC_ENTRY thunk_QueryCredentialsAttributesW(
64  PCredHandle phCredential, ULONG ulAttribute, void *pBuffer) DECLSPEC_HIDDEN;
65 SECURITY_STATUS SEC_ENTRY thunk_QueryContextAttributesA(
66  PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer) DECLSPEC_HIDDEN;
67 SECURITY_STATUS SEC_ENTRY thunk_QueryContextAttributesW(
68  PCtxtHandle phContext, ULONG ulAttribute, void *pBuffer) DECLSPEC_HIDDEN;
69 SECURITY_STATUS SEC_ENTRY thunk_SetContextAttributesA(PCtxtHandle phContext,
70  ULONG ulAttribute, void *pBuffer, ULONG cbBuffer) DECLSPEC_HIDDEN;
71 SECURITY_STATUS SEC_ENTRY thunk_SetContextAttributesW(PCtxtHandle phContext,
72  ULONG ulAttribute, void *pBuffer, ULONG cbBuffer) DECLSPEC_HIDDEN;
73
74 #endif /* ndef __SECUR32_THUNKS_H__ */