File: nddeapi.d

package info (click to toggle)
gcc-arm-none-eabi 15%3A12.2.rel1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 959,712 kB
  • sloc: cpp: 3,275,382; ansic: 2,061,766; ada: 840,956; f90: 208,513; makefile: 76,132; asm: 73,433; xml: 50,448; exp: 34,146; sh: 32,436; objc: 15,637; fortran: 14,012; python: 11,991; pascal: 6,787; awk: 4,779; perl: 3,054; yacc: 338; ml: 285; lex: 201; haskell: 122
file content (165 lines) | stat: -rw-r--r-- 5,451 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
/**
 * Windows API header module
 *
 * Translated from MinGW Windows headers
 *
 * Authors: Stewart Gordon
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
 * Source: $(DRUNTIMESRC core/sys/windows/_nddeapi.d)
 */
module core.sys.windows.nddeapi;
version (Windows):
@system:

version (ANSI) {} else version = Unicode;

import core.sys.windows.windef;

// FIXME: check types and grouping of constants

/+
#ifndef CNLEN /* also in lmcons.h */
#define CNLEN 15
#define UNCLEN (CNLEN + 2)
#endif
+/

enum char    SEP_CHAR  = ',';
const char[]  BAR_CHAR  = "|";
enum wchar   SEP_WCHAR = ',';
const wchar[] BAR_WCHAR = "|";

enum {
    NDDE_NO_ERROR,
    NDDE_ACCESS_DENIED,
    NDDE_BUF_TOO_SMALL,
    NDDE_ERROR_MORE_DATA,
    NDDE_INVALID_SERVER,
    NDDE_INVALID_SHARE,
    NDDE_INVALID_PARAMETER,
    NDDE_INVALID_LEVEL,
    NDDE_INVALID_PASSWORD,
    NDDE_INVALID_ITEMNAME,
    NDDE_INVALID_TOPIC,
    NDDE_INTERNAL_ERROR,
    NDDE_OUT_OF_MEMORY,
    NDDE_INVALID_APPNAME,
    NDDE_NOT_IMPLEMENTED,
    NDDE_SHARE_ALREADY_EXIST,
    NDDE_SHARE_NOT_EXIST,
    NDDE_INVALID_FILENAME,
    NDDE_NOT_RUNNING,
    NDDE_INVALID_WINDOW,
    NDDE_INVALID_SESSION,
    NDDE_INVALID_ITEM_LIST,
    NDDE_SHARE_DATA_CORRUPTED,
    NDDE_REGISTRY_ERROR,
    NDDE_CANT_ACCESS_SERVER,
    NDDE_INVALID_SPECIAL_COMMAND,
    NDDE_INVALID_SECURITY_DESC,
    NDDE_TRUST_SHARE_FAIL
}

enum size_t
    MAX_NDDESHARENAME = 256,
    MAX_DOMAINNAME = 15,
    MAX_USERNAME = 15,
    MAX_APPNAME = 255,
    MAX_TOPICNAME = 255,
    MAX_ITEMNAME = 255;

enum NDDEF_NOPASSWORDPROMPT = 1;
enum NDDEF_NOCACHELOOKUP    = 2;
enum NDDEF_STRIP_NDDE       = 4;

enum SHARE_TYPE_OLD         = 1;
enum SHARE_TYPE_NEW         = 2;
enum SHARE_TYPE_STATIC      = 4;

enum uint
    NDDE_CMD_SHOW_MASK     = 0x0000FFFF,
    NDDE_TRUST_CMD_SHOW    = 0x10000000,
    NDDE_TRUST_SHARE_DEL   = 0x20000000,
    NDDE_TRUST_SHARE_INIT  = 0x40000000,
    NDDE_TRUST_SHARE_START = 0x80000000;

struct NDdeShareInfo_tag {
    LONG    lRevision;
    LPTSTR  lpszShareName;
    LONG    lShareType;
    LPTSTR  lpszAppTopicList;
    LONG    fSharedFlag;
    LONG    fService;
    LONG    fStartAppFlag;
    LONG    nCmdShow;
    LONG[2] qModifyId;
    LONG    cNumItems;
    LPTSTR  lpszItemList;
}
extern (C) {    // huh?
    NDdeShareInfo_tag  NDDESHAREINFO;
    NDdeShareInfo_tag* PNDDESHAREINFO;
}

extern (Windows) {
    UINT NDdeGetErrorStringA(UINT, LPSTR, DWORD);
    UINT NDdeGetErrorStringW(UINT, LPWSTR, DWORD);
    UINT NDdeGetShareSecurityA(LPSTR, LPSTR, SECURITY_INFORMATION,
      PSECURITY_DESCRIPTOR, DWORD, PDWORD);
    UINT NDdeGetShareSecurityW(LPWSTR, LPWSTR, SECURITY_INFORMATION,
      PSECURITY_DESCRIPTOR, DWORD, PDWORD);
    UINT NDdeGetTrustedShareA(LPSTR, LPSTR, PDWORD, PDWORD, PDWORD);
    UINT NDdeGetTrustedShareW(LPWSTR, LPWSTR, PDWORD, PDWORD, PDWORD);
    BOOL NDdeIsValidShareNameA(LPSTR);
    BOOL NDdeIsValidShareNameW(LPWSTR);
    BOOL NDdeIsValidAppTopicListA(LPSTR);
    BOOL NDdeIsValidAppTopicListW(LPWSTR);
    UINT NDdeSetShareSecurityA(LPSTR, LPSTR, SECURITY_INFORMATION,
      PSECURITY_DESCRIPTOR);
    UINT NDdeSetShareSecurityW(LPWSTR, LPWSTR, SECURITY_INFORMATION,
      PSECURITY_DESCRIPTOR);
    UINT NDdeSetTrustedShareA(LPSTR, LPSTR, DWORD);
    UINT NDdeSetTrustedShareW(LPWSTR, LPWSTR, DWORD);
    UINT NDdeShareAddA(LPSTR, UINT, PSECURITY_DESCRIPTOR, PBYTE, DWORD);
    UINT NDdeShareAddW(LPWSTR, UINT, PSECURITY_DESCRIPTOR, PBYTE, DWORD);
    UINT NDdeShareDelA(LPSTR, LPSTR, UINT);
    UINT NDdeShareDelW(LPWSTR, LPWSTR, UINT);
    UINT NDdeShareEnumA(LPSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD);
    UINT NDdeShareEnumW(LPWSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD);
    UINT NDdeShareGetInfoA(LPSTR, LPSTR, UINT, PBYTE, DWORD, PDWORD, PWORD);
    UINT NDdeShareGetInfoW(LPWSTR, LPWSTR, UINT, PBYTE, DWORD, PDWORD, PWORD);
    UINT NDdeShareSetInfoA(LPSTR, LPSTR, UINT, PBYTE, DWORD, WORD);
    UINT NDdeShareSetInfoW(LPWSTR, LPWSTR, UINT, PBYTE, DWORD, WORD);
    UINT NDdeTrustedShareEnumA(LPSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD);
    UINT NDdeTrustedShareEnumW(LPWSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD);
}

version (Unicode) {
    alias NDdeShareAddW NDdeShareAdd;
    alias NDdeShareDelW NDdeShareDel;
    alias NDdeSetShareSecurityW NDdeSetShareSecurity;
    alias NDdeGetShareSecurityW NDdeGetShareSecurity;
    alias NDdeShareEnumW NDdeShareEnum;
    alias NDdeShareGetInfoW NDdeShareGetInfo;
    alias NDdeShareSetInfoW NDdeShareSetInfo;
    alias NDdeGetErrorStringW NDdeGetErrorString;
    alias NDdeIsValidShareNameW NDdeIsValidShareName;
    alias NDdeIsValidAppTopicListW NDdeIsValidAppTopicList;
    alias NDdeSetTrustedShareW NDdeSetTrustedShare;
    alias NDdeGetTrustedShareW NDdeGetTrustedShare;
    alias NDdeTrustedShareEnumW NDdeTrustedShareEnum;
} else {
    alias NDdeShareAddA NDdeShareAdd;
    alias NDdeShareDelA NDdeShareDel;
    alias NDdeSetShareSecurityA NDdeSetShareSecurity;
    alias NDdeGetShareSecurityA NDdeGetShareSecurity;
    alias NDdeShareEnumA NDdeShareEnum;
    alias NDdeShareGetInfoA NDdeShareGetInfo;
    alias NDdeShareSetInfoA NDdeShareSetInfo;
    alias NDdeGetErrorStringA NDdeGetErrorString;
    alias NDdeIsValidShareNameA NDdeIsValidShareName;
    alias NDdeIsValidAppTopicListA NDdeIsValidAppTopicList;
    alias NDdeSetTrustedShareA NDdeSetTrustedShare;
    alias NDdeGetTrustedShareA NDdeGetTrustedShare;
    alias NDdeTrustedShareEnumA NDdeTrustedShareEnum;
}