1 /**
2  * This file is part of the mingw-w64 runtime package.
3  * No warranty is given; refer to the file DISCLAIMER within this package.
4  */
5 
6 #ifndef __SECEXT_H__
7 #define __SECEXT_H__
8 
9 #include <winapifamily.h>
10 #include <_mingw_unicode.h>
11 
12 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
13 
14 #include "sspi.h"
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20   typedef enum {
21     NameUnknown = 0,
22     NameFullyQualifiedDN = 1,
23     NameSamCompatible = 2,
24     NameDisplay = 3,
25     NameUniqueId = 6,
26     NameCanonical = 7,
27     NameUserPrincipal = 8,
28     NameCanonicalEx = 9,
29     NameServicePrincipal = 10,
30     NameDnsDomain = 12,
31     NameGivenName = 13,
32     NameSurname = 14
33   } EXTENDED_NAME_FORMAT,*PEXTENDED_NAME_FORMAT;
34 
35 #define GetUserNameEx __MINGW_NAME_AW(GetUserNameEx)
36 #define GetComputerObjectName __MINGW_NAME_AW(GetComputerObjectName)
37 #define TranslateName __MINGW_NAME_AW(TranslateName)
38 
39   BOOLEAN SEC_ENTRY GetUserNameExA (EXTENDED_NAME_FORMAT NameFormat, LPSTR lpNameBuffer, PULONG nSize);
40   BOOLEAN SEC_ENTRY GetUserNameExW (EXTENDED_NAME_FORMAT NameFormat, LPWSTR lpNameBuffer, PULONG nSize);
41   BOOLEAN SEC_ENTRY GetComputerObjectNameA (EXTENDED_NAME_FORMAT NameFormat, LPSTR lpNameBuffer, PULONG nSize);
42   BOOLEAN SEC_ENTRY GetComputerObjectNameW (EXTENDED_NAME_FORMAT NameFormat, LPWSTR lpNameBuffer, PULONG nSize);
43   BOOLEAN SEC_ENTRY TranslateNameA (LPCSTR lpAccountName, EXTENDED_NAME_FORMAT AccountNameFormat, EXTENDED_NAME_FORMAT DesiredNameFormat, LPSTR lpTranslatedName, PULONG nSize);
44   BOOLEAN SEC_ENTRY TranslateNameW (LPCWSTR lpAccountName, EXTENDED_NAME_FORMAT AccountNameFormat, EXTENDED_NAME_FORMAT DesiredNameFormat, LPWSTR lpTranslatedName, PULONG nSize);
45 
46 #ifdef __cplusplus
47 }
48 #endif
49 
50 #endif
51 
52 #endif
53