1 /**
2  * Windows API header module
3  *
4  * Translated from MinGW Windows headers
5  *
6  * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7  * Source: $(DRUNTIMESRC src/core/sys/windows/_lmmsg.d)
8  */
9 module core.sys.windows.lmmsg;
10 version (Windows):
11 pragma(lib, "netapi32");
12 
13 private import core.sys.windows.lmcons, core.sys.windows.windef, core.sys.windows.w32api;
14 
15 static assert (_WIN32_WINNT >= 0x501,
16     "core.sys.windows.lmmsg is available only if version WindowsXP, Windows2003 "
17     ~ "or WindowsVista is set");
18 
19 enum MSGNAME_NOT_FORWARDED  = 0;
20 enum MSGNAME_FORWARDED_TO   = 4;
21 enum MSGNAME_FORWARDED_FROM = 16;
22 
23 struct MSG_INFO_0 {
24     LPWSTR msgi0_name;
25 }
26 alias MSG_INFO_0* PMSG_INFO_0, LPMSG_INFO_0;
27 
28 struct MSG_INFO_1 {
29     LPWSTR msgi1_name;
30     DWORD msgi1_forward_flag;
31     LPWSTR msgi1_forward;
32 }
33 alias MSG_INFO_1* PMSG_INFO_1, LPMSG_INFO_1;
34 
35 extern (Windows) {
36     NET_API_STATUS NetMessageBufferSend(LPCWSTR, LPCWSTR, LPCWSTR, PBYTE,
37       DWORD);
38     NET_API_STATUS NetMessageNameAdd(LPCWSTR, LPCWSTR);
39     NET_API_STATUS NetMessageNameDel(LPCWSTR, LPCWSTR);
40     NET_API_STATUS NetMessageNameEnum(LPCWSTR, DWORD, PBYTE*, DWORD, PDWORD,
41       PDWORD, PDWORD);
42     NET_API_STATUS NetMessageNameGetInfo(LPCWSTR, LPCWSTR, DWORD, PBYTE*);
43 }
44