d: Merge upstream dmd 568496d5b, druntime 178c44ff, phobos 574bf883b.
[official-gcc.git] / libphobos / libdruntime / core / sys / windows / nddeapi.d
blobdc3890c61181780dc45ee338377e24645aec4657
1 /**
2 * Windows API header module
4 * Translated from MinGW Windows headers
6 * Authors: Stewart Gordon
7 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
8 * Source: $(DRUNTIMESRC core/sys/windows/_nddeapi.d)
9 */
10 module core.sys.windows.nddeapi;
11 version (Windows):
12 @system:
14 version (ANSI) {} else version = Unicode;
16 import core.sys.windows.windef;
18 // FIXME: check types and grouping of constants
21 #ifndef CNLEN /* also in lmcons.h */
22 #define CNLEN 15
23 #define UNCLEN (CNLEN + 2)
24 #endif
27 enum char SEP_CHAR = ',';
28 const char[] BAR_CHAR = "|";
29 enum wchar SEP_WCHAR = ',';
30 const wchar[] BAR_WCHAR = "|";
32 enum {
33 NDDE_NO_ERROR,
34 NDDE_ACCESS_DENIED,
35 NDDE_BUF_TOO_SMALL,
36 NDDE_ERROR_MORE_DATA,
37 NDDE_INVALID_SERVER,
38 NDDE_INVALID_SHARE,
39 NDDE_INVALID_PARAMETER,
40 NDDE_INVALID_LEVEL,
41 NDDE_INVALID_PASSWORD,
42 NDDE_INVALID_ITEMNAME,
43 NDDE_INVALID_TOPIC,
44 NDDE_INTERNAL_ERROR,
45 NDDE_OUT_OF_MEMORY,
46 NDDE_INVALID_APPNAME,
47 NDDE_NOT_IMPLEMENTED,
48 NDDE_SHARE_ALREADY_EXIST,
49 NDDE_SHARE_NOT_EXIST,
50 NDDE_INVALID_FILENAME,
51 NDDE_NOT_RUNNING,
52 NDDE_INVALID_WINDOW,
53 NDDE_INVALID_SESSION,
54 NDDE_INVALID_ITEM_LIST,
55 NDDE_SHARE_DATA_CORRUPTED,
56 NDDE_REGISTRY_ERROR,
57 NDDE_CANT_ACCESS_SERVER,
58 NDDE_INVALID_SPECIAL_COMMAND,
59 NDDE_INVALID_SECURITY_DESC,
60 NDDE_TRUST_SHARE_FAIL
63 enum size_t
64 MAX_NDDESHARENAME = 256,
65 MAX_DOMAINNAME = 15,
66 MAX_USERNAME = 15,
67 MAX_APPNAME = 255,
68 MAX_TOPICNAME = 255,
69 MAX_ITEMNAME = 255;
71 enum NDDEF_NOPASSWORDPROMPT = 1;
72 enum NDDEF_NOCACHELOOKUP = 2;
73 enum NDDEF_STRIP_NDDE = 4;
75 enum SHARE_TYPE_OLD = 1;
76 enum SHARE_TYPE_NEW = 2;
77 enum SHARE_TYPE_STATIC = 4;
79 enum uint
80 NDDE_CMD_SHOW_MASK = 0x0000FFFF,
81 NDDE_TRUST_CMD_SHOW = 0x10000000,
82 NDDE_TRUST_SHARE_DEL = 0x20000000,
83 NDDE_TRUST_SHARE_INIT = 0x40000000,
84 NDDE_TRUST_SHARE_START = 0x80000000;
86 struct NDdeShareInfo_tag {
87 LONG lRevision;
88 LPTSTR lpszShareName;
89 LONG lShareType;
90 LPTSTR lpszAppTopicList;
91 LONG fSharedFlag;
92 LONG fService;
93 LONG fStartAppFlag;
94 LONG nCmdShow;
95 LONG[2] qModifyId;
96 LONG cNumItems;
97 LPTSTR lpszItemList;
99 extern (C) { // huh?
100 NDdeShareInfo_tag NDDESHAREINFO;
101 NDdeShareInfo_tag* PNDDESHAREINFO;
104 extern (Windows) {
105 UINT NDdeGetErrorStringA(UINT, LPSTR, DWORD);
106 UINT NDdeGetErrorStringW(UINT, LPWSTR, DWORD);
107 UINT NDdeGetShareSecurityA(LPSTR, LPSTR, SECURITY_INFORMATION,
108 PSECURITY_DESCRIPTOR, DWORD, PDWORD);
109 UINT NDdeGetShareSecurityW(LPWSTR, LPWSTR, SECURITY_INFORMATION,
110 PSECURITY_DESCRIPTOR, DWORD, PDWORD);
111 UINT NDdeGetTrustedShareA(LPSTR, LPSTR, PDWORD, PDWORD, PDWORD);
112 UINT NDdeGetTrustedShareW(LPWSTR, LPWSTR, PDWORD, PDWORD, PDWORD);
113 BOOL NDdeIsValidShareNameA(LPSTR);
114 BOOL NDdeIsValidShareNameW(LPWSTR);
115 BOOL NDdeIsValidAppTopicListA(LPSTR);
116 BOOL NDdeIsValidAppTopicListW(LPWSTR);
117 UINT NDdeSetShareSecurityA(LPSTR, LPSTR, SECURITY_INFORMATION,
118 PSECURITY_DESCRIPTOR);
119 UINT NDdeSetShareSecurityW(LPWSTR, LPWSTR, SECURITY_INFORMATION,
120 PSECURITY_DESCRIPTOR);
121 UINT NDdeSetTrustedShareA(LPSTR, LPSTR, DWORD);
122 UINT NDdeSetTrustedShareW(LPWSTR, LPWSTR, DWORD);
123 UINT NDdeShareAddA(LPSTR, UINT, PSECURITY_DESCRIPTOR, PBYTE, DWORD);
124 UINT NDdeShareAddW(LPWSTR, UINT, PSECURITY_DESCRIPTOR, PBYTE, DWORD);
125 UINT NDdeShareDelA(LPSTR, LPSTR, UINT);
126 UINT NDdeShareDelW(LPWSTR, LPWSTR, UINT);
127 UINT NDdeShareEnumA(LPSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD);
128 UINT NDdeShareEnumW(LPWSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD);
129 UINT NDdeShareGetInfoA(LPSTR, LPSTR, UINT, PBYTE, DWORD, PDWORD, PWORD);
130 UINT NDdeShareGetInfoW(LPWSTR, LPWSTR, UINT, PBYTE, DWORD, PDWORD, PWORD);
131 UINT NDdeShareSetInfoA(LPSTR, LPSTR, UINT, PBYTE, DWORD, WORD);
132 UINT NDdeShareSetInfoW(LPWSTR, LPWSTR, UINT, PBYTE, DWORD, WORD);
133 UINT NDdeTrustedShareEnumA(LPSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD);
134 UINT NDdeTrustedShareEnumW(LPWSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD);
137 version (Unicode) {
138 alias NDdeShareAddW NDdeShareAdd;
139 alias NDdeShareDelW NDdeShareDel;
140 alias NDdeSetShareSecurityW NDdeSetShareSecurity;
141 alias NDdeGetShareSecurityW NDdeGetShareSecurity;
142 alias NDdeShareEnumW NDdeShareEnum;
143 alias NDdeShareGetInfoW NDdeShareGetInfo;
144 alias NDdeShareSetInfoW NDdeShareSetInfo;
145 alias NDdeGetErrorStringW NDdeGetErrorString;
146 alias NDdeIsValidShareNameW NDdeIsValidShareName;
147 alias NDdeIsValidAppTopicListW NDdeIsValidAppTopicList;
148 alias NDdeSetTrustedShareW NDdeSetTrustedShare;
149 alias NDdeGetTrustedShareW NDdeGetTrustedShare;
150 alias NDdeTrustedShareEnumW NDdeTrustedShareEnum;
151 } else {
152 alias NDdeShareAddA NDdeShareAdd;
153 alias NDdeShareDelA NDdeShareDel;
154 alias NDdeSetShareSecurityA NDdeSetShareSecurity;
155 alias NDdeGetShareSecurityA NDdeGetShareSecurity;
156 alias NDdeShareEnumA NDdeShareEnum;
157 alias NDdeShareGetInfoA NDdeShareGetInfo;
158 alias NDdeShareSetInfoA NDdeShareSetInfo;
159 alias NDdeGetErrorStringA NDdeGetErrorString;
160 alias NDdeIsValidShareNameA NDdeIsValidShareName;
161 alias NDdeIsValidAppTopicListA NDdeIsValidAppTopicList;
162 alias NDdeSetTrustedShareA NDdeSetTrustedShare;
163 alias NDdeGetTrustedShareA NDdeGetTrustedShare;
164 alias NDdeTrustedShareEnumA NDdeTrustedShareEnum;