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/_lmalert.d)
8  */
9 module core.sys.windows.lmalert;
10 version (Windows):
11 @system:
12 pragma(lib, "netapi32");
13 
14 import core.sys.windows.lmcons, core.sys.windows.windef;
15 
16 const TCHAR[]
17     ALERTER_MAILSLOT     = `\\.\MAILSLOT\Alerter`,
18     ALERT_PRINT_EVENT    = "PRINTING",
19     ALERT_MESSAGE_EVENT  = "MESSAGE",
20     ALERT_ERRORLOG_EVENT = "ERRORLOG",
21     ALERT_ADMIN_EVENT    = "ADMIN",
22     ALERT_USER_EVENT     = "USER";
23 //MACRO #define ALERT_OTHER_INFO(x) ((PBYTE)(x)+sizeof(STD_ALERT))
24 
25 //MACRO #define ALERT_VAR_DATA(p) ((PBYTE)(p)+sizeof(*p))
26 
27 enum PRJOB_QSTATUS     = 3;
28 enum PRJOB_DEVSTATUS   = 508;
29 enum PRJOB_COMPLETE    = 4;
30 enum PRJOB_INTERV      = 8;
31 enum PRJOB_            = 16;
32 enum PRJOB_DESTOFFLINE = 32;
33 enum PRJOB_DESTPAUSED  = 64;
34 enum PRJOB_NOTIFY      = 128;
35 enum PRJOB_DESTNOPAPER = 256;
36 enum PRJOB_DELETED     = 32768;
37 enum PRJOB_QS_QUEUED   = 0;
38 enum PRJOB_QS_PAUSED   = 1;
39 enum PRJOB_QS_SPOOLING = 2;
40 enum PRJOB_QS_PRINTING = 3;
41 
42 struct ADMIN_OTHER_INFO{
43     DWORD alrtad_errcode;
44     DWORD alrtad_numstrings;
45 }
46 alias ADMIN_OTHER_INFO* PADMIN_OTHER_INFO, LPADMIN_OTHER_INFO;
47 
48 struct STD_ALERT{
49     DWORD alrt_timestamp;
50     TCHAR[EVLEN+1] alrt_eventname = 0;
51     TCHAR[SNLEN+1] alrt_servicename = 0;
52 }
53 alias STD_ALERT* PSTD_ALERT, LPSTD_ALERT;
54 
55 struct ERRLOG_OTHER_INFO{
56     DWORD alrter_errcode;
57     DWORD alrter_offset;
58 }
59 alias ERRLOG_OTHER_INFO* PERRLOG_OTHER_INFO, LPERRLOG_OTHER_INFO;
60 
61 struct PRINT_OTHER_INFO{
62     DWORD alrtpr_jobid;
63     DWORD alrtpr_status;
64     DWORD alrtpr_submitted;
65     DWORD alrtpr_size;
66 }
67 alias PRINT_OTHER_INFO* PPRINT_OTHER_INFO, LPPRINT_OTHER_INFO;
68 
69 struct USER_OTHER_INFO{
70     DWORD alrtus_errcode;
71     DWORD alrtus_numstrings;
72 }
73 alias USER_OTHER_INFO* PUSER_OTHER_INFO, LPUSER_OTHER_INFO;
74 
75 extern (Windows) {
76 NET_API_STATUS NetAlertRaise(LPCWSTR,PVOID,DWORD);
77 NET_API_STATUS NetAlertRaiseEx(LPCWSTR,PVOID,DWORD,LPCWSTR);
78 }
79