xref: /netbsd-src/external/gpl3/gcc/dist/libphobos/libdruntime/core/sys/windows/nddeapi.d (revision 0a3071956a3a9fdebdbf7f338cf2d439b45fc728)
1 /**
2  * Windows API header module
3  *
4  * Translated from MinGW Windows headers
5  *
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;
version(Windows)11 version (Windows):
12 @system:
13 
14 version (ANSI) {} else version = Unicode;
15 
16 import core.sys.windows.windef;
17 
18 // FIXME: check types and grouping of constants
19 
20 /+
21 #ifndef CNLEN /* also in lmcons.h */
22 #define CNLEN 15
23 #define UNCLEN (CNLEN + 2)
24 #endif
25 +/
26 
27 enum char    SEP_CHAR  = ',';
28 const char[]  BAR_CHAR  = "|";
29 enum wchar   SEP_WCHAR = ',';
30 const wchar[] BAR_WCHAR = "|";
31 
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
61 }
62 
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;
70 
71 enum NDDEF_NOPASSWORDPROMPT = 1;
72 enum NDDEF_NOCACHELOOKUP    = 2;
73 enum NDDEF_STRIP_NDDE       = 4;
74 
75 enum SHARE_TYPE_OLD         = 1;
76 enum SHARE_TYPE_NEW         = 2;
77 enum SHARE_TYPE_STATIC      = 4;
78 
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;
85 
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;
98 }
99 extern (C) {    // huh?
100     NDdeShareInfo_tag  NDDESHAREINFO;
101     NDdeShareInfo_tag* PNDDESHAREINFO;
102 }
103 
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);
135 }
136 
version(Unicode)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;
165 }
166