]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys/src/Windows/Win32/System/Kernel/mod.rs
New upstream version 1.63.0+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / System / Kernel / mod.rs
1 #[link(name = "windows")]
2 extern "system" {
3 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
4 pub fn RtlFirstEntrySList(listhead: *const SLIST_HEADER) -> *mut SLIST_ENTRY;
5 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
6 pub fn RtlInitializeSListHead(listhead: *mut SLIST_HEADER);
7 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
8 pub fn RtlInterlockedFlushSList(listhead: *mut SLIST_HEADER) -> *mut SLIST_ENTRY;
9 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
10 pub fn RtlInterlockedPopEntrySList(listhead: *mut SLIST_HEADER) -> *mut SLIST_ENTRY;
11 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
12 pub fn RtlInterlockedPushEntrySList(listhead: *mut SLIST_HEADER, listentry: *mut SLIST_ENTRY) -> *mut SLIST_ENTRY;
13 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
14 pub fn RtlInterlockedPushListSListEx(listhead: *mut SLIST_HEADER, list: *mut SLIST_ENTRY, listend: *mut SLIST_ENTRY, count: u32) -> *mut SLIST_ENTRY;
15 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
16 pub fn RtlQueryDepthSList(listhead: *const SLIST_HEADER) -> u16;
17 }
18 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
19 pub type COMPARTMENT_ID = i32;
20 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
21 pub const UNSPECIFIED_COMPARTMENT_ID: COMPARTMENT_ID = 0i32;
22 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
23 pub const DEFAULT_COMPARTMENT_ID: COMPARTMENT_ID = 1i32;
24 #[repr(C)]
25 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
26 pub struct CSTRING {
27 pub Length: u16,
28 pub MaximumLength: u16,
29 pub Buffer: ::windows_sys::core::PCSTR,
30 }
31 impl ::core::marker::Copy for CSTRING {}
32 impl ::core::clone::Clone for CSTRING {
33 fn clone(&self) -> Self {
34 *self
35 }
36 }
37 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
38 pub type EVENT_TYPE = i32;
39 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
40 pub const NotificationEvent: EVENT_TYPE = 0i32;
41 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
42 pub const SynchronizationEvent: EVENT_TYPE = 1i32;
43 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
44 pub type EXCEPTION_DISPOSITION = i32;
45 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
46 pub const ExceptionContinueExecution: EXCEPTION_DISPOSITION = 0i32;
47 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
48 pub const ExceptionContinueSearch: EXCEPTION_DISPOSITION = 1i32;
49 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
50 pub const ExceptionNestedException: EXCEPTION_DISPOSITION = 2i32;
51 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
52 pub const ExceptionCollidedUnwind: EXCEPTION_DISPOSITION = 3i32;
53 #[repr(C)]
54 #[doc = "*Required features: `\"Win32_System_Kernel\"`, `\"Win32_Foundation\"`, `\"Win32_System_Diagnostics_Debug\"`*"]
55 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Debug"))]
56 pub struct EXCEPTION_REGISTRATION_RECORD {
57 pub Next: *mut EXCEPTION_REGISTRATION_RECORD,
58 pub Handler: EXCEPTION_ROUTINE,
59 }
60 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Debug"))]
61 impl ::core::marker::Copy for EXCEPTION_REGISTRATION_RECORD {}
62 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Debug"))]
63 impl ::core::clone::Clone for EXCEPTION_REGISTRATION_RECORD {
64 fn clone(&self) -> Self {
65 *self
66 }
67 }
68 #[doc = "*Required features: `\"Win32_System_Kernel\"`, `\"Win32_Foundation\"`, `\"Win32_System_Diagnostics_Debug\"`*"]
69 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Debug"))]
70 pub type EXCEPTION_ROUTINE = ::core::option::Option<unsafe extern "system" fn(exceptionrecord: *mut super::Diagnostics::Debug::EXCEPTION_RECORD, establisherframe: *const ::core::ffi::c_void, contextrecord: *mut super::Diagnostics::Debug::CONTEXT, dispatchercontext: *const ::core::ffi::c_void) -> EXCEPTION_DISPOSITION>;
71 #[repr(C)]
72 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
73 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
74 pub struct FLOATING_SAVE_AREA {
75 pub ControlWord: u32,
76 pub StatusWord: u32,
77 pub TagWord: u32,
78 pub ErrorOffset: u32,
79 pub ErrorSelector: u32,
80 pub DataOffset: u32,
81 pub DataSelector: u32,
82 pub RegisterArea: [u8; 80],
83 pub Cr0NpxState: u32,
84 }
85 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
86 impl ::core::marker::Copy for FLOATING_SAVE_AREA {}
87 #[cfg(any(target_arch = "aarch64", target_arch = "x86_64"))]
88 impl ::core::clone::Clone for FLOATING_SAVE_AREA {
89 fn clone(&self) -> Self {
90 *self
91 }
92 }
93 #[repr(C)]
94 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
95 #[cfg(target_arch = "x86")]
96 pub struct FLOATING_SAVE_AREA {
97 pub ControlWord: u32,
98 pub StatusWord: u32,
99 pub TagWord: u32,
100 pub ErrorOffset: u32,
101 pub ErrorSelector: u32,
102 pub DataOffset: u32,
103 pub DataSelector: u32,
104 pub RegisterArea: [u8; 80],
105 pub Spare0: u32,
106 }
107 #[cfg(target_arch = "x86")]
108 impl ::core::marker::Copy for FLOATING_SAVE_AREA {}
109 #[cfg(target_arch = "x86")]
110 impl ::core::clone::Clone for FLOATING_SAVE_AREA {
111 fn clone(&self) -> Self {
112 *self
113 }
114 }
115 #[repr(C)]
116 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
117 pub struct LIST_ENTRY {
118 pub Flink: *mut LIST_ENTRY,
119 pub Blink: *mut LIST_ENTRY,
120 }
121 impl ::core::marker::Copy for LIST_ENTRY {}
122 impl ::core::clone::Clone for LIST_ENTRY {
123 fn clone(&self) -> Self {
124 *self
125 }
126 }
127 #[repr(C)]
128 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
129 pub struct LIST_ENTRY32 {
130 pub Flink: u32,
131 pub Blink: u32,
132 }
133 impl ::core::marker::Copy for LIST_ENTRY32 {}
134 impl ::core::clone::Clone for LIST_ENTRY32 {
135 fn clone(&self) -> Self {
136 *self
137 }
138 }
139 #[repr(C)]
140 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
141 pub struct LIST_ENTRY64 {
142 pub Flink: u64,
143 pub Blink: u64,
144 }
145 impl ::core::marker::Copy for LIST_ENTRY64 {}
146 impl ::core::clone::Clone for LIST_ENTRY64 {
147 fn clone(&self) -> Self {
148 *self
149 }
150 }
151 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
152 pub const MAXUCHAR: u32 = 255u32;
153 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
154 pub const MAXULONG: u32 = 4294967295u32;
155 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
156 pub const MAXUSHORT: u32 = 65535u32;
157 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
158 pub type NT_PRODUCT_TYPE = i32;
159 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
160 pub const NtProductWinNt: NT_PRODUCT_TYPE = 1i32;
161 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
162 pub const NtProductLanManNt: NT_PRODUCT_TYPE = 2i32;
163 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
164 pub const NtProductServer: NT_PRODUCT_TYPE = 3i32;
165 #[repr(C)]
166 #[doc = "*Required features: `\"Win32_System_Kernel\"`, `\"Win32_Foundation\"`, `\"Win32_System_Diagnostics_Debug\"`*"]
167 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Debug"))]
168 pub struct NT_TIB {
169 pub ExceptionList: *mut EXCEPTION_REGISTRATION_RECORD,
170 pub StackBase: *mut ::core::ffi::c_void,
171 pub StackLimit: *mut ::core::ffi::c_void,
172 pub SubSystemTib: *mut ::core::ffi::c_void,
173 pub Anonymous: NT_TIB_0,
174 pub ArbitraryUserPointer: *mut ::core::ffi::c_void,
175 pub Self_: *mut NT_TIB,
176 }
177 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Debug"))]
178 impl ::core::marker::Copy for NT_TIB {}
179 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Debug"))]
180 impl ::core::clone::Clone for NT_TIB {
181 fn clone(&self) -> Self {
182 *self
183 }
184 }
185 #[repr(C)]
186 #[doc = "*Required features: `\"Win32_System_Kernel\"`, `\"Win32_Foundation\"`, `\"Win32_System_Diagnostics_Debug\"`*"]
187 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Debug"))]
188 pub union NT_TIB_0 {
189 pub FiberData: *mut ::core::ffi::c_void,
190 pub Version: u32,
191 }
192 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Debug"))]
193 impl ::core::marker::Copy for NT_TIB_0 {}
194 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Diagnostics_Debug"))]
195 impl ::core::clone::Clone for NT_TIB_0 {
196 fn clone(&self) -> Self {
197 *self
198 }
199 }
200 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
201 pub const NULL64: u32 = 0u32;
202 #[repr(C)]
203 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
204 pub struct OBJECTID {
205 pub Lineage: ::windows_sys::core::GUID,
206 pub Uniquifier: u32,
207 }
208 impl ::core::marker::Copy for OBJECTID {}
209 impl ::core::clone::Clone for OBJECTID {
210 fn clone(&self) -> Self {
211 *self
212 }
213 }
214 #[repr(C)]
215 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
216 pub struct OBJECT_ATTRIBUTES32 {
217 pub Length: u32,
218 pub RootDirectory: u32,
219 pub ObjectName: u32,
220 pub Attributes: u32,
221 pub SecurityDescriptor: u32,
222 pub SecurityQualityOfService: u32,
223 }
224 impl ::core::marker::Copy for OBJECT_ATTRIBUTES32 {}
225 impl ::core::clone::Clone for OBJECT_ATTRIBUTES32 {
226 fn clone(&self) -> Self {
227 *self
228 }
229 }
230 #[repr(C)]
231 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
232 pub struct OBJECT_ATTRIBUTES64 {
233 pub Length: u32,
234 pub RootDirectory: u64,
235 pub ObjectName: u64,
236 pub Attributes: u32,
237 pub SecurityDescriptor: u64,
238 pub SecurityQualityOfService: u64,
239 }
240 impl ::core::marker::Copy for OBJECT_ATTRIBUTES64 {}
241 impl ::core::clone::Clone for OBJECT_ATTRIBUTES64 {
242 fn clone(&self) -> Self {
243 *self
244 }
245 }
246 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
247 pub const OBJ_CASE_INSENSITIVE: i32 = 64i32;
248 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
249 pub const OBJ_DONT_REPARSE: i32 = 4096i32;
250 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
251 pub const OBJ_EXCLUSIVE: i32 = 32i32;
252 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
253 pub const OBJ_FORCE_ACCESS_CHECK: i32 = 1024i32;
254 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
255 pub const OBJ_HANDLE_TAGBITS: i32 = 3i32;
256 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
257 pub const OBJ_IGNORE_IMPERSONATED_DEVICEMAP: i32 = 2048i32;
258 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
259 pub const OBJ_INHERIT: i32 = 2i32;
260 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
261 pub const OBJ_KERNEL_HANDLE: i32 = 512i32;
262 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
263 pub const OBJ_OPENIF: i32 = 128i32;
264 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
265 pub const OBJ_OPENLINK: i32 = 256i32;
266 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
267 pub const OBJ_PERMANENT: i32 = 16i32;
268 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
269 pub const OBJ_VALID_ATTRIBUTES: i32 = 8178i32;
270 #[repr(C)]
271 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
272 pub struct PROCESSOR_NUMBER {
273 pub Group: u16,
274 pub Number: u8,
275 pub Reserved: u8,
276 }
277 impl ::core::marker::Copy for PROCESSOR_NUMBER {}
278 impl ::core::clone::Clone for PROCESSOR_NUMBER {
279 fn clone(&self) -> Self {
280 *self
281 }
282 }
283 #[repr(C)]
284 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
285 pub struct QUAD {
286 pub Anonymous: QUAD_0,
287 }
288 impl ::core::marker::Copy for QUAD {}
289 impl ::core::clone::Clone for QUAD {
290 fn clone(&self) -> Self {
291 *self
292 }
293 }
294 #[repr(C)]
295 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
296 pub union QUAD_0 {
297 pub UseThisFieldToCopy: i64,
298 pub DoNotUseThisField: f64,
299 }
300 impl ::core::marker::Copy for QUAD_0 {}
301 impl ::core::clone::Clone for QUAD_0 {
302 fn clone(&self) -> Self {
303 *self
304 }
305 }
306 #[repr(C)]
307 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
308 pub struct RTL_BALANCED_NODE {
309 pub Anonymous1: RTL_BALANCED_NODE_0,
310 pub Anonymous2: RTL_BALANCED_NODE_1,
311 }
312 impl ::core::marker::Copy for RTL_BALANCED_NODE {}
313 impl ::core::clone::Clone for RTL_BALANCED_NODE {
314 fn clone(&self) -> Self {
315 *self
316 }
317 }
318 #[repr(C)]
319 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
320 pub union RTL_BALANCED_NODE_0 {
321 pub Children: [*mut RTL_BALANCED_NODE; 2],
322 pub Anonymous: RTL_BALANCED_NODE_0_0,
323 }
324 impl ::core::marker::Copy for RTL_BALANCED_NODE_0 {}
325 impl ::core::clone::Clone for RTL_BALANCED_NODE_0 {
326 fn clone(&self) -> Self {
327 *self
328 }
329 }
330 #[repr(C)]
331 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
332 pub struct RTL_BALANCED_NODE_0_0 {
333 pub Left: *mut RTL_BALANCED_NODE,
334 pub Right: *mut RTL_BALANCED_NODE,
335 }
336 impl ::core::marker::Copy for RTL_BALANCED_NODE_0_0 {}
337 impl ::core::clone::Clone for RTL_BALANCED_NODE_0_0 {
338 fn clone(&self) -> Self {
339 *self
340 }
341 }
342 #[repr(C)]
343 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
344 pub union RTL_BALANCED_NODE_1 {
345 pub _bitfield: u8,
346 pub ParentValue: usize,
347 }
348 impl ::core::marker::Copy for RTL_BALANCED_NODE_1 {}
349 impl ::core::clone::Clone for RTL_BALANCED_NODE_1 {
350 fn clone(&self) -> Self {
351 *self
352 }
353 }
354 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
355 pub const RTL_BALANCED_NODE_RESERVED_PARENT_MASK: u32 = 3u32;
356 #[repr(C)]
357 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
358 pub struct SINGLE_LIST_ENTRY {
359 pub Next: *mut SINGLE_LIST_ENTRY,
360 }
361 impl ::core::marker::Copy for SINGLE_LIST_ENTRY {}
362 impl ::core::clone::Clone for SINGLE_LIST_ENTRY {
363 fn clone(&self) -> Self {
364 *self
365 }
366 }
367 #[repr(C)]
368 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
369 pub struct SINGLE_LIST_ENTRY32 {
370 pub Next: u32,
371 }
372 impl ::core::marker::Copy for SINGLE_LIST_ENTRY32 {}
373 impl ::core::clone::Clone for SINGLE_LIST_ENTRY32 {
374 fn clone(&self) -> Self {
375 *self
376 }
377 }
378 #[repr(C)]
379 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
380 pub struct SLIST_ENTRY {
381 pub Next: *mut SLIST_ENTRY,
382 }
383 impl ::core::marker::Copy for SLIST_ENTRY {}
384 impl ::core::clone::Clone for SLIST_ENTRY {
385 fn clone(&self) -> Self {
386 *self
387 }
388 }
389 #[repr(C)]
390 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
391 #[cfg(target_arch = "aarch64")]
392 pub union SLIST_HEADER {
393 pub Anonymous: SLIST_HEADER_0,
394 pub HeaderArm64: SLIST_HEADER_1,
395 }
396 #[cfg(target_arch = "aarch64")]
397 impl ::core::marker::Copy for SLIST_HEADER {}
398 #[cfg(target_arch = "aarch64")]
399 impl ::core::clone::Clone for SLIST_HEADER {
400 fn clone(&self) -> Self {
401 *self
402 }
403 }
404 #[repr(C)]
405 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
406 #[cfg(target_arch = "aarch64")]
407 pub struct SLIST_HEADER_0 {
408 pub Alignment: u64,
409 pub Region: u64,
410 }
411 #[cfg(target_arch = "aarch64")]
412 impl ::core::marker::Copy for SLIST_HEADER_0 {}
413 #[cfg(target_arch = "aarch64")]
414 impl ::core::clone::Clone for SLIST_HEADER_0 {
415 fn clone(&self) -> Self {
416 *self
417 }
418 }
419 #[repr(C)]
420 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
421 #[cfg(target_arch = "aarch64")]
422 pub struct SLIST_HEADER_1 {
423 pub _bitfield1: u64,
424 pub _bitfield2: u64,
425 }
426 #[cfg(target_arch = "aarch64")]
427 impl ::core::marker::Copy for SLIST_HEADER_1 {}
428 #[cfg(target_arch = "aarch64")]
429 impl ::core::clone::Clone for SLIST_HEADER_1 {
430 fn clone(&self) -> Self {
431 *self
432 }
433 }
434 #[repr(C)]
435 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
436 #[cfg(target_arch = "x86_64")]
437 pub union SLIST_HEADER {
438 pub Anonymous: SLIST_HEADER_0,
439 pub HeaderX64: SLIST_HEADER_1,
440 }
441 #[cfg(target_arch = "x86_64")]
442 impl ::core::marker::Copy for SLIST_HEADER {}
443 #[cfg(target_arch = "x86_64")]
444 impl ::core::clone::Clone for SLIST_HEADER {
445 fn clone(&self) -> Self {
446 *self
447 }
448 }
449 #[repr(C)]
450 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
451 #[cfg(target_arch = "x86_64")]
452 pub struct SLIST_HEADER_0 {
453 pub Alignment: u64,
454 pub Region: u64,
455 }
456 #[cfg(target_arch = "x86_64")]
457 impl ::core::marker::Copy for SLIST_HEADER_0 {}
458 #[cfg(target_arch = "x86_64")]
459 impl ::core::clone::Clone for SLIST_HEADER_0 {
460 fn clone(&self) -> Self {
461 *self
462 }
463 }
464 #[repr(C)]
465 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
466 #[cfg(target_arch = "x86_64")]
467 pub struct SLIST_HEADER_1 {
468 pub _bitfield1: u64,
469 pub _bitfield2: u64,
470 }
471 #[cfg(target_arch = "x86_64")]
472 impl ::core::marker::Copy for SLIST_HEADER_1 {}
473 #[cfg(target_arch = "x86_64")]
474 impl ::core::clone::Clone for SLIST_HEADER_1 {
475 fn clone(&self) -> Self {
476 *self
477 }
478 }
479 #[repr(C)]
480 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
481 #[cfg(target_arch = "x86")]
482 pub union SLIST_HEADER {
483 pub Alignment: u64,
484 pub Anonymous: SLIST_HEADER_0,
485 }
486 #[cfg(target_arch = "x86")]
487 impl ::core::marker::Copy for SLIST_HEADER {}
488 #[cfg(target_arch = "x86")]
489 impl ::core::clone::Clone for SLIST_HEADER {
490 fn clone(&self) -> Self {
491 *self
492 }
493 }
494 #[repr(C)]
495 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
496 #[cfg(target_arch = "x86")]
497 pub struct SLIST_HEADER_0 {
498 pub Next: SINGLE_LIST_ENTRY,
499 pub Depth: u16,
500 pub CpuId: u16,
501 }
502 #[cfg(target_arch = "x86")]
503 impl ::core::marker::Copy for SLIST_HEADER_0 {}
504 #[cfg(target_arch = "x86")]
505 impl ::core::clone::Clone for SLIST_HEADER_0 {
506 fn clone(&self) -> Self {
507 *self
508 }
509 }
510 #[repr(C)]
511 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
512 pub struct STRING {
513 pub Length: u16,
514 pub MaximumLength: u16,
515 pub Buffer: ::windows_sys::core::PSTR,
516 }
517 impl ::core::marker::Copy for STRING {}
518 impl ::core::clone::Clone for STRING {
519 fn clone(&self) -> Self {
520 *self
521 }
522 }
523 #[repr(C)]
524 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
525 pub struct STRING32 {
526 pub Length: u16,
527 pub MaximumLength: u16,
528 pub Buffer: u32,
529 }
530 impl ::core::marker::Copy for STRING32 {}
531 impl ::core::clone::Clone for STRING32 {
532 fn clone(&self) -> Self {
533 *self
534 }
535 }
536 #[repr(C)]
537 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
538 pub struct STRING64 {
539 pub Length: u16,
540 pub MaximumLength: u16,
541 pub Buffer: u64,
542 }
543 impl ::core::marker::Copy for STRING64 {}
544 impl ::core::clone::Clone for STRING64 {
545 fn clone(&self) -> Self {
546 *self
547 }
548 }
549 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
550 pub type SUITE_TYPE = i32;
551 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
552 pub const SmallBusiness: SUITE_TYPE = 0i32;
553 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
554 pub const Enterprise: SUITE_TYPE = 1i32;
555 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
556 pub const BackOffice: SUITE_TYPE = 2i32;
557 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
558 pub const CommunicationServer: SUITE_TYPE = 3i32;
559 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
560 pub const TerminalServer: SUITE_TYPE = 4i32;
561 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
562 pub const SmallBusinessRestricted: SUITE_TYPE = 5i32;
563 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
564 pub const EmbeddedNT: SUITE_TYPE = 6i32;
565 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
566 pub const DataCenter: SUITE_TYPE = 7i32;
567 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
568 pub const SingleUserTS: SUITE_TYPE = 8i32;
569 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
570 pub const Personal: SUITE_TYPE = 9i32;
571 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
572 pub const Blade: SUITE_TYPE = 10i32;
573 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
574 pub const EmbeddedRestricted: SUITE_TYPE = 11i32;
575 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
576 pub const SecurityAppliance: SUITE_TYPE = 12i32;
577 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
578 pub const StorageServer: SUITE_TYPE = 13i32;
579 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
580 pub const ComputeServer: SUITE_TYPE = 14i32;
581 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
582 pub const WHServer: SUITE_TYPE = 15i32;
583 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
584 pub const PhoneNT: SUITE_TYPE = 16i32;
585 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
586 pub const MultiUserTS: SUITE_TYPE = 17i32;
587 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
588 pub const MaxSuiteType: SUITE_TYPE = 18i32;
589 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
590 pub type TIMER_TYPE = i32;
591 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
592 pub const NotificationTimer: TIMER_TYPE = 0i32;
593 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
594 pub const SynchronizationTimer: TIMER_TYPE = 1i32;
595 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
596 pub type WAIT_TYPE = i32;
597 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
598 pub const WaitAll: WAIT_TYPE = 0i32;
599 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
600 pub const WaitAny: WAIT_TYPE = 1i32;
601 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
602 pub const WaitNotification: WAIT_TYPE = 2i32;
603 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
604 pub const WaitDequeue: WAIT_TYPE = 3i32;
605 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
606 pub const WaitDpc: WAIT_TYPE = 4i32;
607 #[repr(C)]
608 #[doc = "*Required features: `\"Win32_System_Kernel\"`*"]
609 pub struct WNF_STATE_NAME {
610 pub Data: [u32; 2],
611 }
612 impl ::core::marker::Copy for WNF_STATE_NAME {}
613 impl ::core::clone::Clone for WNF_STATE_NAME {
614 fn clone(&self) -> Self {
615 *self
616 }
617 }