winapi_ui_automation/um/
dot1x.rs

1// Licensed under the Apache License, Version 2.0
2// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4// All files in the project carrying such notice may not be copied, modified, or distributed
5// except according to those terms.
6use shared::guiddef::GUID;
7use shared::minwindef::{BOOL, DWORD};
8use um::eaptypes::EAP_METHOD_TYPE;
9use um::l2cmn::L2_REASON_CODE_ONEX_BASE;
10use um::winnt::HANDLE;
11ENUM!{enum ONEX_AUTH_IDENTITY {
12    OneXAuthIdentityNone = 0,
13    OneXAuthIdentityMachine = 1,
14    OneXAuthIdentityUser = 2,
15    OneXAuthIdentityExplicitUser = 3,
16    OneXAuthIdentityGuest = 4,
17    OneXAuthIdentityInvalid = 5,
18}}
19pub type PONEX_AUTH_IDENTITY = *mut ONEX_AUTH_IDENTITY;
20ENUM!{enum ONEX_AUTH_STATUS {
21    OneXAuthNotStarted = 0,
22    OneXAuthInProgress = 1,
23    OneXAuthNoAuthenticatorFound = 2,
24    OneXAuthSuccess = 3,
25    OneXAuthFailure = 4,
26    OneXAuthInvalid = 5,
27}}
28pub type PONEX_AUTH_STATUS = *mut ONEX_AUTH_STATUS;
29ENUM!{enum ONEX_REASON_CODE {
30    ONEX_REASON_CODE_SUCCESS = 0,
31    ONEX_REASON_START = L2_REASON_CODE_ONEX_BASE,
32    ONEX_UNABLE_TO_IDENTIFY_USER = 327681,
33    ONEX_IDENTITY_NOT_FOUND = 327682,
34    ONEX_UI_DISABLED = 327683,
35    ONEX_UI_FAILURE = 327684,
36    ONEX_EAP_FAILURE_RECEIVED = 327685,
37    ONEX_AUTHENTICATOR_NO_LONGER_PRESENT = 327686,
38    ONEX_NO_RESPONSE_TO_IDENTITY = 327687,
39    ONEX_PROFILE_VERSION_NOT_SUPPORTED = 327688,
40    ONEX_PROFILE_INVALID_LENGTH = 327689,
41    ONEX_PROFILE_DISALLOWED_EAP_TYPE = 327690,
42    ONEX_PROFILE_INVALID_EAP_TYPE_OR_FLAG = 327691,
43    ONEX_PROFILE_INVALID_ONEX_FLAGS = 327692,
44    ONEX_PROFILE_INVALID_TIMER_VALUE = 327693,
45    ONEX_PROFILE_INVALID_SUPPLICANT_MODE = 327694,
46    ONEX_PROFILE_INVALID_AUTH_MODE = 327695,
47    ONEX_PROFILE_INVALID_EAP_CONNECTION_PROPERTIES = 327696,
48    ONEX_UI_CANCELLED = 327697,
49    ONEX_PROFILE_INVALID_EXPLICIT_CREDENTIALS = 327698,
50    ONEX_PROFILE_EXPIRED_EXPLICIT_CREDENTIALS = 327699,
51    ONEX_UI_NOT_PERMITTED = 327700,
52}}
53pub type PONEX_REASON_CODE = *mut ONEX_REASON_CODE;
54ENUM!{enum ONEX_NOTIFICATION_TYPE {
55    OneXPublicNotificationBase = 0,
56    OneXNotificationTypeResultUpdate = 1,
57    OneXNotificationTypeAuthRestarted = 2,
58    OneXNotificationTypeEventInvalid = 3,
59    OneXNumNotifications = OneXNotificationTypeEventInvalid,
60}}
61pub type PONEX_NOTIFICATION_TYPE = *mut ONEX_NOTIFICATION_TYPE;
62ENUM!{enum ONEX_AUTH_RESTART_REASON {
63    OneXRestartReasonPeerInitiated = 0,
64    OneXRestartReasonMsmInitiated = 1,
65    OneXRestartReasonOneXHeldStateTimeout = 2,
66    OneXRestartReasonOneXAuthTimeout = 3,
67    OneXRestartReasonOneXConfigurationChanged = 4,
68    OneXRestartReasonOneXUserChanged = 5,
69    OneXRestartReasonQuarantineStateChanged = 6,
70    OneXRestartReasonAltCredsTrial = 7,
71    OneXRestartReasonInvalid = 8,
72}}
73pub type PONEX_AUTH_RESTART_REASON = *mut ONEX_AUTH_RESTART_REASON;
74STRUCT!{struct ONEX_VARIABLE_BLOB {
75    dwSize: DWORD,
76    dwOffset: DWORD,
77}}
78pub type PONEX_VARIABLE_BLOB = *mut ONEX_VARIABLE_BLOB;
79STRUCT!{struct ONEX_AUTH_PARAMS {
80    fUpdatePending: BOOL,
81    oneXConnProfile: ONEX_VARIABLE_BLOB,
82    authIdentity: ONEX_AUTH_IDENTITY,
83    dwQuarantineState: DWORD,
84    Bitfields: DWORD,
85    dwSessionId: DWORD,
86    hUserToken: HANDLE,
87    OneXUserProfile: ONEX_VARIABLE_BLOB,
88    Identity: ONEX_VARIABLE_BLOB,
89    UserName: ONEX_VARIABLE_BLOB,
90    Domain: ONEX_VARIABLE_BLOB,
91}}
92BITFIELD!{ONEX_AUTH_PARAMS Bitfields: DWORD [
93    fSessionId set_fSessionId[0..1],
94    fhUserToken set_fhUserToken[1..2],
95    fOnexUserProfile set_fOnexUserProfile[2..3],
96    fIdentity set_fIdentity[3..4],
97    fUserName set_fUserName[4..5],
98    fDomain set_fDomain[5..6],
99]}
100pub type PONEX_AUTH_PARAMS = *mut ONEX_AUTH_PARAMS;
101STRUCT!{struct ONEX_EAP_ERROR {
102    dwWinError: DWORD,
103    type_: EAP_METHOD_TYPE,
104    dwReasonCode: DWORD,
105    rootCauseGuid: GUID,
106    repairGuid: GUID,
107    helpLinkGuid: GUID,
108    Bitfields: DWORD,
109    RootCauseString: ONEX_VARIABLE_BLOB,
110    RepairString: ONEX_VARIABLE_BLOB,
111}}
112BITFIELD!{ONEX_EAP_ERROR Bitfields: DWORD [
113    fRootCauseString set_fRootCauseString[0..1],
114    fRepairString set_fRepairString[1..2],
115]}
116pub type PONEX_EAP_ERROR = *mut ONEX_EAP_ERROR;
117STRUCT!{struct ONEX_STATUS {
118    authStatus: ONEX_AUTH_STATUS,
119    dwReason: DWORD,
120    dwError: DWORD,
121}}
122pub type PONEX_STATUS = *mut ONEX_STATUS;
123ENUM!{enum ONEX_EAP_METHOD_BACKEND_SUPPORT {
124    OneXEapMethodBackendSupportUnknown = 0,
125    OneXEapMethodBackendSupported = 1,
126    OneXEapMethodBackendUnsupported = 2,
127}}
128STRUCT!{struct ONEX_RESULT_UPDATE_DATA {
129    oneXStatus: ONEX_STATUS,
130    BackendSupport: ONEX_EAP_METHOD_BACKEND_SUPPORT,
131    fBackendEngaged: BOOL,
132    Bitfields: DWORD,
133    authParams: ONEX_VARIABLE_BLOB,
134    eapError: ONEX_VARIABLE_BLOB,
135}}
136BITFIELD!{ONEX_RESULT_UPDATE_DATA Bitfields: DWORD [
137    fOneXAuthParams set_fOneXAuthParams[0..1],
138    fEapError set_fEapError[1..2],
139]}
140pub type PONEX_RESULT_UPDATE_DATA = *mut ONEX_RESULT_UPDATE_DATA;
141STRUCT!{struct ONEX_USER_INFO {
142    authIdentity: ONEX_AUTH_IDENTITY,
143    Bitfields: DWORD,
144    UserName: ONEX_VARIABLE_BLOB,
145    DomainName: ONEX_VARIABLE_BLOB,
146}}
147BITFIELD!{ONEX_USER_INFO Bitfields: DWORD [
148    fUserName set_fUserName[0..1],
149    fDomainName set_fDomainName[1..2],
150]}
151pub type PONEX_USER_INFO = *mut ONEX_USER_INFO;