summaryrefslogtreecommitdiff
path: root/vendor/winapi/src/um/lmalert.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/um/lmalert.rs')
-rw-r--r--vendor/winapi/src/um/lmalert.rs75
1 files changed, 75 insertions, 0 deletions
diff --git a/vendor/winapi/src/um/lmalert.rs b/vendor/winapi/src/um/lmalert.rs
new file mode 100644
index 0000000..e406d80
--- /dev/null
+++ b/vendor/winapi/src/um/lmalert.rs
@@ -0,0 +1,75 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+//! This file contains structures for communication with the Alerter service
+use shared::lmcons::{EVLEN, NET_API_STATUS, SNLEN};
+use shared::minwindef::{DWORD, LPVOID};
+use um::winnt::{LPCWSTR, WCHAR};
+extern "system" {
+ pub fn NetAlertRaise(
+ AlertType: LPCWSTR,
+ Buffer: LPVOID,
+ BufferSize: DWORD,
+ ) -> NET_API_STATUS;
+ pub fn NetAlertRaiseEx(
+ AlertType: LPCWSTR,
+ VariableInfo: LPVOID,
+ VariableInfoSize: DWORD,
+ ServiceName: LPCWSTR,
+ ) -> NET_API_STATUS;
+}
+STRUCT!{struct STD_ALERT {
+ alrt_timestamp: DWORD,
+ alrt_eventname: [WCHAR; EVLEN + 1],
+ alrt_servicename: [WCHAR; SNLEN + 1],
+}}
+pub type PSTD_ALERT = *mut STD_ALERT;
+pub type LPSTD_ALERT = *mut STD_ALERT;
+STRUCT!{struct ADMIN_OTHER_INFO {
+ alrtad_errcode: DWORD,
+ alrtad_numstrings: DWORD,
+}}
+pub type PADMIN_OTHER_INFO = *mut ADMIN_OTHER_INFO;
+pub type LPADMIN_OTHER_INFO = *mut ADMIN_OTHER_INFO;
+STRUCT!{struct ERRLOG_OTHER_INFO {
+ alrter_errcode: DWORD,
+ alrter_offset: DWORD,
+}}
+pub type PERRLOG_OTHER_INFO = *mut ERRLOG_OTHER_INFO;
+pub type LPERRLOG_OTHER_INFO = *mut ERRLOG_OTHER_INFO;
+STRUCT!{struct PRINT_OTHER_INFO {
+ alrtpr_jobid: DWORD,
+ alrtpr_status: DWORD,
+ alrtpr_submitted: DWORD,
+ alrtpr_size: DWORD,
+}}
+pub type PPRINT_OTHER_INFO = *mut PRINT_OTHER_INFO;
+pub type LPPRINT_OTHER_INFO = *mut PRINT_OTHER_INFO;
+STRUCT!{struct USER_OTHER_INFO {
+ alrtus_errcode: DWORD,
+ alrtus_numstrings: DWORD,
+}}
+pub type PUSER_OTHER_INFO = *mut USER_OTHER_INFO;
+pub type LPUSER_OTHER_INFO = *mut USER_OTHER_INFO;
+pub const ALERTER_MAILSLOT: &'static str = "\\\\.\\MAILSLOT\\Alerter";
+pub const ALERT_PRINT_EVENT: &'static str = "PRINTING";
+pub const ALERT_MESSAGE_EVENT: &'static str = "MESSAGE";
+pub const ALERT_ERRORLOG_EVENT: &'static str = "ERRORLOG";
+pub const ALERT_ADMIN_EVENT: &'static str = "ADMIN";
+pub const ALERT_USER_EVENT: &'static str = "USER";
+pub const PRJOB_QSTATUS: DWORD = 0x3;
+pub const PRJOB_DEVSTATUS: DWORD = 0x1fc;
+pub const PRJOB_COMPLETE: DWORD = 0x4;
+pub const PRJOB_INTERV: DWORD = 0x8;
+pub const PRJOB_ERROR: DWORD = 0x10;
+pub const PRJOB_DESTOFFLINE: DWORD = 0x20;
+pub const PRJOB_DESTPAUSED: DWORD = 0x40;
+pub const PRJOB_NOTIFY: DWORD = 0x80;
+pub const PRJOB_DESTNOPAPER: DWORD = 0x100;
+pub const PRJOB_DELETED: DWORD = 0x8000;
+pub const PRJOB_QS_QUEUED: DWORD = 0;
+pub const PRJOB_QS_PAUSED: DWORD = 1;
+pub const PRJOB_QS_SPOOLING: DWORD = 2;
+pub const PRJOB_QS_PRINTING: DWORD = 3;