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