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
10extern "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