master
 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
17extern "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