winsafe\winspool/
co.rs

1#![allow(non_camel_case_types)]
2
3use crate::co::*;
4use crate::macros::*;
5
6const_bitflag! { FORM: u32;
7	/// [`FORM_INFO_1`](crate::FORM_INFO_1) and
8	/// [`FORM_INFO_2`](crate::FORM_INFO_2) `Flags` (`u32`).
9	=>
10	USER 0x0000_0000
11	BUILTIN 0x0000_0001
12	PRINTER 0x0000_0002
13}
14
15const_bitflag! { PRINTER_ACCESS: u32;
16	/// [`PRINTER_DEFAULTS`](crate::PRINTER_DEFAULTS) `DesiredAccess` (`u32`).
17	=>
18	ADMINISTER 0x0000_0004
19	USE 0x0000_0008
20	MANAGE_LIMITED 0x0000_0040
21	ALL_ACCESS (STANDARD_RIGHTS::REQUIRED.raw() | Self::ADMINISTER.0 | Self::USE.0)
22	READ (STANDARD_RIGHTS::READ.raw() | Self::USE.0)
23	WRITE (STANDARD_RIGHTS::WRITE.raw() | Self::USE.0)
24	EXECUTE (STANDARD_RIGHTS::EXECUTE.raw() | Self::USE.0)
25}
26
27const_bitflag! { PRINTER_ATTRIBUTE_2: u32;
28	/// [`PRINTER_INFO_2`](crate::PRINTER_INFO_2) `Attributes` (`u32`).
29	=>
30	DIRECT 0x0000_0002
31	DO_COMPLETE_FIRST 0x0000_0200
32	ENABLE_DEVQ 0x0000_0080
33	HIDDEN 0x0000_0020
34	KEEPPRINTEDJOBS 0x0000_0100
35	LOCAL 0x0000_0040
36	NETWORK 0x0000_0010
37	PUBLISHED 0x0000_2000
38	QUEUED 0x0000_0001
39	RAW_ONLY 0x0000_1000
40	SHARED 0x0000_0008
41	FAX 0x0000_4000
42	FRIENDLY_NAME 0x0010_0000
43	MACHINE 0x0008_0000
44	PUSHED_USER 0x0002_0000
45	PUSHED_MACHINE 0x0004_0000
46	TS 0x0000_8000
47}
48
49const_ordinary! { PRINTER_ATTRIBUTE_4: u32;
50	/// [`PRINTER_INFO_4`](crate::PRINTER_INFO_4) `Attributes` (`u32`).
51	=>
52	LOCAL PRINTER_ATTRIBUTE_2::LOCAL.0
53	NETWORK PRINTER_ATTRIBUTE_2::NETWORK.0
54}
55
56const_bitflag! { PRINTER_CONNECTION: u32;
57	/// [`PRINTER_CONNECTION_INFO_1`](crate::PRINTER_CONNECTION_INFO_1)
58	/// `dwFlags` (`u32`).
59	=>
60	MISMATCH 0x0000_0020
61	NO_UI 0x0000_0040
62}
63
64const_bitflag! { PRINTER_ENUM: u32;
65	/// [`EnumPrinters2`](crate::EnumPrinters2) and
66	/// [`EnumPrinters4`](crate::EnumPrinters4) `flags` (`u32`).
67	=>
68	LOCAL 0x0000_0002
69	NAME 0x0000_0008
70	SHARED 0x0000_0020
71	CONNECTIONS 0x0000_0004
72	NETWORK 0x0000_0040
73	REMOTE 0x0000_0010
74	CATEGORY_3D 0x0400_0000
75	CATEGORY_ALL 0x0200_0000
76}
77
78const_bitflag! { PRINTER_OPTION: u32;
79	/// [`PRINTER_OPTION`](https://learn.microsoft.com/en-us/windows/win32/printdocs/printer-option-flags)
80	/// enumeration (`u32`).
81	=>
82	NO_CACHE 1
83	CACHE 2
84	CLIENT_CHANGE 4
85	NO_CLIENT_DATA 8
86}
87
88const_bitflag! { PRINTER_STATUS: u32;
89	/// [`PRINTER_INFO_2`](crate::PRINTER_INFO_2) `status` (`u32`).
90	=>
91	PAUSED 0x0000_0001
92	ERROR 0x0000_0002
93	PENDING_DELETION 0x0000_0004
94	PAPER_JAM 0x0000_0008
95	PAPER_OUT 0x0000_0010
96	MANUAL_FEED 0x0000_0020
97	PAPER_PROBLEM 0x0000_0040
98	OFFLINE 0x0000_0080
99	IO_ACTIVE 0x0000_0100
100	BUSY 0x0000_0200
101	PRINTING 0x0000_0400
102	OUTPUT_BIN_FULL 0x0000_0800
103	NOT_AVAILABLE 0x0000_1000
104	WAITING 0x0000_2000
105	PROCESSING 0x0000_4000
106	INITIALIZING 0x0000_8000
107	WARMING_UP 0x0001_0000
108	TONER_LOW 0x0002_0000
109	NO_TONER 0x0004_0000
110	PAGE_PUNT 0x0008_0000
111	USER_INTERVENTION 0x0010_0000
112	OUT_OF_MEMORY 0x0020_0000
113	DOOR_OPEN 0x0040_0000
114	SERVER_UNKNOWN 0x0080_0000
115	POWER_SAVE 0x0100_0000
116	SERVER_OFFLINE 0x0200_0000
117	DRIVER_UPDATE_NEEDED 0x0400_0000
118}
119
120const_bitflag! { STRING_FORM: u32;
121	/// [`FORM_INFO_2`](crate::FORM_INFO_2) `StringType` (`u32`).
122	///
123	/// Originally has `STRING` prefix.
124	=>
125	NONE 0x0000_0001
126	MUIDLL 0x0000_0002
127	LANGPAIR 0x0000_0004
128}