OSDN Git Service

Avoid an implication that the API is exclusively 32-bit.
[mingw/mingw-org-wsl.git] / wslapi / include / ddk / cfg.h
1 /*
2  * cfg.h
3  *
4  * PnP Configuration Manager shared definitions between user mode and kernel mode code
5  *
6  * This file is part of the w32api package.
7  *
8  * Contributors:
9  *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
10  *
11  * THIS SOFTWARE IS NOT COPYRIGHTED
12  *
13  * This source code is offered for use in the public domain. You may
14  * use, modify or distribute it freely.
15  *
16  * This code is distributed in the hope that it will be useful but
17  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18  * DISCLAIMED. This includes but is not limited to warranties of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20  *
21  */
22
23 #ifndef __CFG_H
24 #define __CFG_H
25
26 #if __GNUC__ >=3
27 #pragma GCC system_header
28 #endif
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33
34 #define CM_PROB_NOT_CONFIGURED                                          0x00000001
35 #define CM_PROB_DEVLOADER_FAILED            0x00000002
36 #define CM_PROB_OUT_OF_MEMORY               0x00000003
37 #define CM_PROB_ENTRY_IS_WRONG_TYPE         0x00000004
38 #define CM_PROB_LACKED_ARBITRATOR           0x00000005
39 #define CM_PROB_BOOT_CONFIG_CONFLICT        0x00000006
40 #define CM_PROB_FAILED_FILTER               0x00000007
41 #define CM_PROB_DEVLOADER_NOT_FOUND         0x00000008
42 #define CM_PROB_INVALID_DATA                0x00000009
43 #define CM_PROB_FAILED_START                0x0000000A
44 #define CM_PROB_LIAR                        0x0000000B
45 #define CM_PROB_NORMAL_CONFLICT             0x0000000C
46 #define CM_PROB_NOT_VERIFIED                0x0000000D
47 #define CM_PROB_NEED_RESTART                0x0000000E
48 #define CM_PROB_REENUMERATION               0x0000000F
49 #define CM_PROB_PARTIAL_LOG_CONF            0x00000010
50 #define CM_PROB_UNKNOWN_RESOURCE            0x00000011
51 #define CM_PROB_REINSTALL                   0x00000012
52 #define CM_PROB_REGISTRY                    0x00000013
53 #define CM_PROB_VXDLDR                      0x00000014
54 #define CM_PROB_WILL_BE_REMOVED             0x00000015
55 #define CM_PROB_DISABLED                    0x00000016
56 #define CM_PROB_DEVLOADER_NOT_READY         0x00000017
57 #define CM_PROB_DEVICE_NOT_THERE            0x00000018
58 #define CM_PROB_MOVED                       0x00000019
59 #define CM_PROB_TOO_EARLY                   0x0000001A
60 #define CM_PROB_NO_VALID_LOG_CONF           0x0000001B
61 #define CM_PROB_FAILED_INSTALL              0x0000001C
62 #define CM_PROB_HARDWARE_DISABLED           0x0000001D
63 #define CM_PROB_CANT_SHARE_IRQ              0x0000001E
64 #define CM_PROB_FAILED_ADD                  0x0000001F
65 #define CM_PROB_DISABLED_SERVICE                0x00000020
66 #define CM_PROB_TRANSLATION_FAILED              0x00000021
67 #define CM_PROB_NO_SOFTCONFIG                   0x00000022
68 #define CM_PROB_BIOS_TABLE                      0x00000023
69 #define CM_PROB_IRQ_TRANSLATION_FAILED          0x00000024
70 #define CM_PROB_FAILED_DRIVER_ENTRY             0x00000025
71 #define CM_PROB_DRIVER_FAILED_PRIOR_UNLOAD      0x00000026
72 #define CM_PROB_DRIVER_FAILED_LOAD          0x00000027
73 #define CM_PROB_DRIVER_SERVICE_KEY_INVALID  0x00000028
74 #define CM_PROB_LEGACY_SERVICE_NO_DEVICES   0x00000029
75 #define CM_PROB_DUPLICATE_DEVICE            0x0000002A
76 #define CM_PROB_FAILED_POST_START           0x0000002B
77 #define CM_PROB_HALTED                      0x0000002C
78 #define CM_PROB_PHANTOM                     0x0000002D
79 #define CM_PROB_SYSTEM_SHUTDOWN             0x0000002E
80 #define CM_PROB_HELD_FOR_EJECT              0x0000002F
81 #define CM_PROB_DRIVER_BLOCKED              0x00000030
82 #define CM_PROB_REGISTRY_TOO_LARGE              0x00000031
83
84 #define LCPRI_FORCECONFIG                 0x00000000
85 #define LCPRI_BOOTCONFIG                  0x00000001
86 #define LCPRI_DESIRED                     0x00002000
87 #define LCPRI_NORMAL                      0x00003000
88 #define LCPRI_LASTBESTCONFIG              0x00003FFF
89 #define LCPRI_SUBOPTIMAL                  0x00005000
90 #define LCPRI_LASTSOFTCONFIG              0x00007FFF
91 #define LCPRI_RESTART                     0x00008000
92 #define LCPRI_REBOOT                      0x00009000
93 #define LCPRI_POWEROFF                    0x0000A000
94 #define LCPRI_HARDRECONFIG                0x0000C000
95 #define LCPRI_HARDWIRED                   0x0000E000
96 #define LCPRI_IMPOSSIBLE                  0x0000F000
97 #define LCPRI_DISABLED                    0x0000FFFF
98 #define MAX_LCPRI                         0x0000FFFF
99
100 #define DN_ROOT_ENUMERATED      0x00000001      /* Was enumerated by ROOT */
101 #define DN_DRIVER_LOADED        0x00000002      /* Has Register_Device_Driver */
102 #define DN_ENUM_LOADED          0x00000004      /* Has Register_Enumerator */
103 #define DN_STARTED              0x00000008      /* Is currently configured */
104 #define DN_MANUAL               0x00000010      /* Manually installed */
105 #define DN_NEED_TO_ENUM         0x00000020      /* May need reenumeration */
106 #define DN_NOT_FIRST_TIME       0x00000040      /* Has received a config */
107 #define DN_HARDWARE_ENUM        0x00000080      /* Enum generates hardware ID */
108 #define DN_LIAR                 0x00000100      /* Lied about can reconfig once */
109 #define DN_HAS_MARK             0x00000200      /* Not CM_Create_DevNode lately */
110 #define DN_HAS_PROBLEM          0x00000400      /* Need device installer */
111 #define DN_FILTERED             0x00000800      /* Is filtered */
112 #define DN_MOVED                0x00001000      /* Has been moved */
113 #define DN_DISABLEABLE          0x00002000      /* Can be rebalanced */
114 #define DN_REMOVABLE            0x00004000      /* Can be removed */
115 #define DN_PRIVATE_PROBLEM      0x00008000      /* Has a private problem */
116 #define DN_MF_PARENT            0x00010000      /* Multi function parent */
117 #define DN_MF_CHILD             0x00020000      /* Multi function child */
118 #define DN_WILL_BE_REMOVED      0x00040000      /* Devnode is being removed */
119
120 typedef enum _PNP_VETO_TYPE {
121   PNP_VetoTypeUnknown,
122   PNP_VetoLegacyDevice,
123   PNP_VetoPendingClose,
124   PNP_VetoWindowsApp,
125   PNP_VetoWindowsService,
126   PNP_VetoOutstandingOpen,
127   PNP_VetoDevice,
128   PNP_VetoDriver,
129   PNP_VetoIllegalDeviceRequest,
130   PNP_VetoInsufficientPower,
131   PNP_VetoNonDisableable,
132   PNP_VetoLegacyDriver
133 } PNP_VETO_TYPE, *PPNP_VETO_TYPE;
134
135 #ifdef __cplusplus
136 }
137 #endif
138
139 #endif /* __CFG_H */