1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __SECEXT_H__
7#define __SECEXT_H__
8
9#include <_mingw_unicode.h>
10#include "sspi.h"
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16  typedef enum {
17    NameUnknown = 0,NameFullyQualifiedDN = 1,NameSamCompatible = 2,NameDisplay = 3,NameUniqueId = 6,NameCanonical = 7,NameUserPrincipal = 8,
18    NameCanonicalEx = 9,NameServicePrincipal = 10,NameDnsDomain = 12
19  } EXTENDED_NAME_FORMAT,*PEXTENDED_NAME_FORMAT;
20
21#define GetUserNameEx __MINGW_NAME_AW(GetUserNameEx)
22#define GetComputerObjectName __MINGW_NAME_AW(GetComputerObjectName)
23#define TranslateName __MINGW_NAME_AW(TranslateName)
24
25  BOOLEAN SEC_ENTRY GetUserNameExA(EXTENDED_NAME_FORMAT NameFormat,LPSTR lpNameBuffer,PULONG nSize);
26  BOOLEAN SEC_ENTRY GetUserNameExW(EXTENDED_NAME_FORMAT NameFormat,LPWSTR lpNameBuffer,PULONG nSize);
27  BOOLEAN SEC_ENTRY GetComputerObjectNameA(EXTENDED_NAME_FORMAT NameFormat,LPSTR lpNameBuffer,PULONG nSize);
28  BOOLEAN SEC_ENTRY GetComputerObjectNameW(EXTENDED_NAME_FORMAT NameFormat,LPWSTR lpNameBuffer,PULONG nSize);
29  BOOLEAN SEC_ENTRY TranslateNameA(LPCSTR lpAccountName,EXTENDED_NAME_FORMAT AccountNameFormat,EXTENDED_NAME_FORMAT DesiredNameFormat,LPSTR lpTranslatedName,PULONG nSize);
30  BOOLEAN SEC_ENTRY TranslateNameW(LPCWSTR lpAccountName,EXTENDED_NAME_FORMAT AccountNameFormat,EXTENDED_NAME_FORMAT DesiredNameFormat,LPWSTR lpTranslatedName,PULONG nSize);
31
32#ifdef __cplusplus
33}
34#endif
35#endif
36