1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef _ALERT_
7 #define _ALERT_
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13   NET_API_STATUS WINAPI NetAlertRaise(LPCWSTR AlertEventName,LPVOID Buffer,DWORD BufferSize);
14   NET_API_STATUS WINAPI NetAlertRaiseEx(LPCWSTR AlertEventName,LPVOID VariableInfo,DWORD VariableInfoSize,LPCWSTR ServiceName);
15 
16   typedef struct _STD_ALERT {
17     DWORD alrt_timestamp;
18     WCHAR alrt_eventname[EVLEN + 1];
19     WCHAR alrt_servicename[SNLEN + 1];
20   } STD_ALERT,*PSTD_ALERT,*LPSTD_ALERT;
21 
22   typedef struct _ADMIN_OTHER_INFO {
23     DWORD alrtad_errcode;
24     DWORD alrtad_numstrings;
25   } ADMIN_OTHER_INFO,*PADMIN_OTHER_INFO,*LPADMIN_OTHER_INFO;
26 
27   typedef struct _ERRLOG_OTHER_INFO {
28     DWORD alrter_errcode;
29     DWORD alrter_offset;
30   } ERRLOG_OTHER_INFO,*PERRLOG_OTHER_INFO,*LPERRLOG_OTHER_INFO;
31 
32   typedef struct _PRINT_OTHER_INFO {
33     DWORD alrtpr_jobid;
34     DWORD alrtpr_status;
35     DWORD alrtpr_submitted;
36     DWORD alrtpr_size;
37   } PRINT_OTHER_INFO,*PPRINT_OTHER_INFO,*LPPRINT_OTHER_INFO;
38 
39   typedef struct _USER_OTHER_INFO {
40     DWORD alrtus_errcode;
41     DWORD alrtus_numstrings;
42   } USER_OTHER_INFO,*PUSER_OTHER_INFO,*LPUSER_OTHER_INFO;
43 
44 #define ALERTER_MAILSLOT L"\\\\.\\MAILSLOT\\Alerter"
45 #define ALERT_OTHER_INFO(x) ((LPBYTE)(x) + sizeof(STD_ALERT))
46 #define ALERT_VAR_DATA(p) ((LPBYTE)(p) + sizeof(*p))
47 
48 #define ALERT_PRINT_EVENT L"PRINTING"
49 #define ALERT_MESSAGE_EVENT L"MESSAGE"
50 #define ALERT_ERRORLOG_EVENT L"ERRORLOG"
51 #define ALERT_ADMIN_EVENT L"ADMIN"
52 #define ALERT_USER_EVENT L"USER"
53 
54 #define PRJOB_QSTATUS 0x3
55 #define PRJOB_DEVSTATUS 0x1fc
56 #define PRJOB_COMPLETE 0x4
57 #define PRJOB_INTERV 0x8
58 #define PRJOB_ERROR 0x10
59 #define PRJOB_DESTOFFLINE 0x20
60 #define PRJOB_DESTPAUSED 0x40
61 #define PRJOB_NOTIFY 0x80
62 #define PRJOB_DESTNOPAPER 0x100
63 #define PRJOB_DELETED 0x8000
64 
65 #define PRJOB_QS_QUEUED 0
66 #define PRJOB_QS_PAUSED 1
67 #define PRJOB_QS_SPOOLING 2
68 #define PRJOB_QS_PRINTING 3
69 
70 #ifdef __cplusplus
71 }
72 #endif
73 #endif
74