2 * Copyright (C) 2006 Dmitry Timoshkov
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_NTDSAPI_H
20 #define __WINE_NTDSAPI_H
22 /* FIXME: #include <schedule.h> */
28 DWORD WINAPI
DsClientMakeSpnForTargetServerA(LPCSTR
, LPCSTR
, DWORD
*, LPSTR
);
29 DWORD WINAPI
DsClientMakeSpnForTargetServerW(LPCWSTR
, LPCWSTR
, DWORD
*, LPWSTR
);
30 #define DsClientMakeSpnForTargetServer WINELIB_NAME_AW(DsClientMakeSpnForTargetServer)
32 DWORD WINAPI
DsMakeSpnA(LPCSTR
, LPCSTR
, LPCSTR
, USHORT
, LPCSTR
, DWORD
*, LPSTR
);
33 DWORD WINAPI
DsMakeSpnW(LPCWSTR
, LPCWSTR
, LPCWSTR
, USHORT
, LPCWSTR
, DWORD
*, LPWSTR
);
34 #define DsMakeSpn WINELIB_NAME_AW(DsMakeSpn)
38 DS_NAME_NO_FLAGS
= 0x0,
39 DS_NAME_FLAG_SYNTACTICAL_ONLY
= 0x1,
40 DS_NAME_FLAG_EVAL_AT_DC
= 0x2,
41 DS_NAME_FLAG_GCVERIFY
= 0x4,
42 DS_NAME_FLAG_TRUST_REFERRAL
= 0x8
48 DS_FQDN_1779_NAME
= 1,
49 DS_NT4_ACCOUNT_NAME
= 2,
51 DS_UNIQUE_ID_NAME
= 6,
52 DS_CANONICAL_NAME
= 7,
53 DS_USER_PRINCIPAL_NAME
= 8,
54 DS_CANONICAL_NAME_EX
= 9,
55 DS_SERVICE_PRINCIPAL_NAME
= 10,
56 DS_SID_OR_SID_HISTORY_NAME
= 11,
57 DS_DNS_DOMAIN_NAME
= 12
72 DS_SPN_ADD_SPN_OP
= 0,
73 DS_SPN_REPLACE_SPN_OP
= 1,
74 DS_SPN_DELETE_SPN_OP
= 2
82 } DS_NAME_RESULT_ITEMA
, *PDS_NAME_RESULT_ITEMA
;
89 } DS_NAME_RESULT_ITEMW
, *PDS_NAME_RESULT_ITEMW
;
91 DECL_WINELIB_TYPE_AW(DS_NAME_RESULT_ITEM
)
92 DECL_WINELIB_TYPE_AW(PDS_NAME_RESULT_ITEM
)
97 PDS_NAME_RESULT_ITEMA rItems
;
98 } DS_NAME_RESULTA
, *PDS_NAME_RESULTA
;
103 PDS_NAME_RESULT_ITEMW rItems
;
104 } DS_NAME_RESULTW
, *PDS_NAME_RESULTW
;
106 DECL_WINELIB_TYPE_AW(DS_NAME_RESULT
)
107 DECL_WINELIB_TYPE_AW(PDS_NAME_RESULT
)
109 DWORD WINAPI
DsCrackNamesA(HANDLE handle
, DS_NAME_FLAGS flags
, DS_NAME_FORMAT offered
, DS_NAME_FORMAT desired
, DWORD num
, const CHAR
**names
, PDS_NAME_RESULTA
*result
);
110 DWORD WINAPI
DsCrackNamesW(HANDLE handle
, DS_NAME_FLAGS flags
, DS_NAME_FORMAT offered
, DS_NAME_FORMAT desired
, DWORD num
, const WCHAR
**names
, PDS_NAME_RESULTW
*result
);
111 #define DsCrackNames WINELIB_NAME_AW(DsCrackNames)
112 DWORD WINAPI
DsServerRegisterSpnA(DS_SPN_WRITE_OP operation
, LPCSTR ServiceClass
, LPCSTR UserObjectDN
);
113 DWORD WINAPI
DsServerRegisterSpnW(DS_SPN_WRITE_OP operation
, LPCWSTR ServiceClass
, LPCWSTR UserObjectDN
);
114 #define DsServerRegisterSpn WINELIB_NAME_AW(DsServerRegisterSpn)
120 #endif /* __WINE_NTDSAPI_H */