winsafe\winspool/
co.rs

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