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