4e2933c620 2015-04-21 kinaba: /***********************************************************************\ 4e2933c620 2015-04-21 kinaba: * lmalert.d * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Windows API header module * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Translated from MinGW Windows headers * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Placed into public domain * 4e2933c620 2015-04-21 kinaba: \***********************************************************************/ 4e2933c620 2015-04-21 kinaba: module win32.lmalert; 4e2933c620 2015-04-21 kinaba: pragma(lib, "netapi32.lib"); 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: private import win32.lmcons, win32.windef; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const TCHAR[] 4e2933c620 2015-04-21 kinaba: ALERTER_MAILSLOT = `\\.\MAILSLOT\Alerter`, 4e2933c620 2015-04-21 kinaba: ALERT_PRINT_EVENT = "PRINTING", 4e2933c620 2015-04-21 kinaba: ALERT_MESSAGE_EVENT = "MESSAGE", 4e2933c620 2015-04-21 kinaba: ALERT_ERRORLOG_EVENT = "ERRORLOG", 4e2933c620 2015-04-21 kinaba: ALERT_ADMIN_EVENT = "ADMIN", 4e2933c620 2015-04-21 kinaba: ALERT_USER_EVENT = "USER"; 4e2933c620 2015-04-21 kinaba: //MACRO #define ALERT_OTHER_INFO(x) ((PBYTE)(x)+sizeof(STD_ALERT)) 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: //MACRO #define ALERT_VAR_DATA(p) ((PBYTE)(p)+sizeof(*p)) 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const PRJOB_QSTATUS = 3; 4e2933c620 2015-04-21 kinaba: const PRJOB_DEVSTATUS = 508; 4e2933c620 2015-04-21 kinaba: const PRJOB_COMPLETE = 4; 4e2933c620 2015-04-21 kinaba: const PRJOB_INTERV = 8; 4e2933c620 2015-04-21 kinaba: const PRJOB_ = 16; 4e2933c620 2015-04-21 kinaba: const PRJOB_DESTOFFLINE = 32; 4e2933c620 2015-04-21 kinaba: const PRJOB_DESTPAUSED = 64; 4e2933c620 2015-04-21 kinaba: const PRJOB_NOTIFY = 128; 4e2933c620 2015-04-21 kinaba: const PRJOB_DESTNOPAPER = 256; 4e2933c620 2015-04-21 kinaba: const PRJOB_DELETED = 32768; 4e2933c620 2015-04-21 kinaba: const PRJOB_QS_QUEUED = 0; 4e2933c620 2015-04-21 kinaba: const PRJOB_QS_PAUSED = 1; 4e2933c620 2015-04-21 kinaba: const PRJOB_QS_SPOOLING = 2; 4e2933c620 2015-04-21 kinaba: const PRJOB_QS_PRINTING = 3; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct ADMIN_OTHER_INFO{ 4e2933c620 2015-04-21 kinaba: DWORD alrtad_errcode; 4e2933c620 2015-04-21 kinaba: DWORD alrtad_numstrings; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias ADMIN_OTHER_INFO* PADMIN_OTHER_INFO, LPADMIN_OTHER_INFO; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct STD_ALERT{ 4e2933c620 2015-04-21 kinaba: DWORD alrt_timestamp; 4e2933c620 2015-04-21 kinaba: TCHAR alrt_eventname[EVLEN+1]; 4e2933c620 2015-04-21 kinaba: TCHAR alrt_servicename[SNLEN+1]; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias STD_ALERT* PSTD_ALERT, LPSTD_ALERT; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct ERRLOG_OTHER_INFO{ 4e2933c620 2015-04-21 kinaba: DWORD alrter_errcode; 4e2933c620 2015-04-21 kinaba: DWORD alrter_offset; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias ERRLOG_OTHER_INFO* PERRLOG_OTHER_INFO, LPERRLOG_OTHER_INFO; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct PRINT_OTHER_INFO{ 4e2933c620 2015-04-21 kinaba: DWORD alrtpr_jobid; 4e2933c620 2015-04-21 kinaba: DWORD alrtpr_status; 4e2933c620 2015-04-21 kinaba: DWORD alrtpr_submitted; 4e2933c620 2015-04-21 kinaba: DWORD alrtpr_size; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias PRINT_OTHER_INFO* PPRINT_OTHER_INFO, LPPRINT_OTHER_INFO; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct USER_OTHER_INFO{ 4e2933c620 2015-04-21 kinaba: DWORD alrtus_errcode; 4e2933c620 2015-04-21 kinaba: DWORD alrtus_numstrings; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias USER_OTHER_INFO* PUSER_OTHER_INFO, LPUSER_OTHER_INFO; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows) { 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetAlertRaise(LPCWSTR,PVOID,DWORD); 4e2933c620 2015-04-21 kinaba: NET_API_STATUS NetAlertRaiseEx(LPCWSTR,PVOID,DWORD,LPCWSTR); 4e2933c620 2015-04-21 kinaba: }