aboutsummaryrefslogtreecommitdiff
path: root/src/util/winproc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/winproc.c')
-rw-r--r--src/util/winproc.c227
1 files changed, 112 insertions, 115 deletions
diff --git a/src/util/winproc.c b/src/util/winproc.c
index aa4757f4a..252cacbfb 100644
--- a/src/util/winproc.c
+++ b/src/util/winproc.c
@@ -73,8 +73,7 @@ TSetNamedSecurityInfo GNSetNamedSecurityInfo;
73void 73void
74plibc_panic (int err, char *msg) 74plibc_panic (int err, char *msg)
75{ 75{
76 LOG (((err == 76 LOG (((err == INT_MAX) ? GNUNET_ERROR_TYPE_DEBUG : GNUNET_ERROR_TYPE_ERROR),
77 INT_MAX) ? GNUNET_ERROR_TYPE_DEBUG : GNUNET_ERROR_TYPE_ERROR),
78 "%s", msg); 77 "%s", msg);
79} 78}
80 79
@@ -100,139 +99,137 @@ GNInitWinEnv ()
100 99
101 /* Function to get CPU usage under Win NT */ 100 /* Function to get CPU usage under Win NT */
102 if (hNTDLL) 101 if (hNTDLL)
103 { 102 {
104 GNNtQuerySystemInformation = 103 GNNtQuerySystemInformation =
105 (TNtQuerySystemInformation) GetProcAddress (hNTDLL, 104 (TNtQuerySystemInformation) GetProcAddress (hNTDLL,
106 "NtQuerySystemInformation"); 105 "NtQuerySystemInformation");
107 } 106 }
108 else 107 else
109 { 108 {
110 GNNtQuerySystemInformation = NULL; 109 GNNtQuerySystemInformation = NULL;
111 } 110 }
112 111
113 /* Functions to get information about a network adapter */ 112 /* Functions to get information about a network adapter */
114 hIphlpapi = LoadLibrary ("iphlpapi.dll"); 113 hIphlpapi = LoadLibrary ("iphlpapi.dll");
115 if (hIphlpapi) 114 if (hIphlpapi)
116 { 115 {
117 GNGetIfEntry = (TGetIfEntry) GetProcAddress (hIphlpapi, "GetIfEntry"); 116 GNGetIfEntry = (TGetIfEntry) GetProcAddress (hIphlpapi, "GetIfEntry");
118 GNGetIpAddrTable = 117 GNGetIpAddrTable =
119 (TGetIpAddrTable) GetProcAddress (hIphlpapi, "GetIpAddrTable"); 118 (TGetIpAddrTable) GetProcAddress (hIphlpapi, "GetIpAddrTable");
120 GNGetIfTable = (TGetIfTable) GetProcAddress (hIphlpapi, "GetIfTable"); 119 GNGetIfTable = (TGetIfTable) GetProcAddress (hIphlpapi, "GetIfTable");
121 GNGetBestInterface = 120 GNGetBestInterface =
122 (TGetBestInterface) GetProcAddress (hIphlpapi, "GetBestInterface"); 121 (TGetBestInterface) GetProcAddress (hIphlpapi, "GetBestInterface");
123 GGetAdaptersInfo = 122 GGetAdaptersInfo =
124 (TGetAdaptersInfo) GetProcAddress (hIphlpapi, "GetAdaptersInfo"); 123 (TGetAdaptersInfo) GetProcAddress (hIphlpapi, "GetAdaptersInfo");
125 } 124 }
126 else 125 else
127 { 126 {
128 GNGetIfEntry = NULL; 127 GNGetIfEntry = NULL;
129 GNGetIpAddrTable = NULL; 128 GNGetIpAddrTable = NULL;
130 GNGetIfTable = NULL; 129 GNGetIfTable = NULL;
131 GNGetBestInterface = NULL; 130 GNGetBestInterface = NULL;
132 GGetAdaptersInfo = NULL; 131 GGetAdaptersInfo = NULL;
133 } 132 }
134 133
135 /* Service & Account functions */ 134 /* Service & Account functions */
136 hAdvapi = LoadLibrary ("advapi32.dll"); 135 hAdvapi = LoadLibrary ("advapi32.dll");
137 if (hAdvapi) 136 if (hAdvapi)
138 { 137 {
139 GNOpenSCManager = 138 GNOpenSCManager =
140 (TOpenSCManager) GetProcAddress (hAdvapi, "OpenSCManagerA"); 139 (TOpenSCManager) GetProcAddress (hAdvapi, "OpenSCManagerA");
141 GNCreateService = 140 GNCreateService =
142 (TCreateService) GetProcAddress (hAdvapi, "CreateServiceA"); 141 (TCreateService) GetProcAddress (hAdvapi, "CreateServiceA");
143 GNCloseServiceHandle = 142 GNCloseServiceHandle =
144 (TCloseServiceHandle) GetProcAddress (hAdvapi, "CloseServiceHandle"); 143 (TCloseServiceHandle) GetProcAddress (hAdvapi, "CloseServiceHandle");
145 GNDeleteService = 144 GNDeleteService =
146 (TDeleteService) GetProcAddress (hAdvapi, "DeleteService"); 145 (TDeleteService) GetProcAddress (hAdvapi, "DeleteService");
147 GNRegisterServiceCtrlHandler = 146 GNRegisterServiceCtrlHandler =
148 (TRegisterServiceCtrlHandler) GetProcAddress (hAdvapi, 147 (TRegisterServiceCtrlHandler) GetProcAddress (hAdvapi,
149 "RegisterServiceCtrlHandlerA"); 148 "RegisterServiceCtrlHandlerA");
150 GNSetServiceStatus = 149 GNSetServiceStatus =
151 (TSetServiceStatus) GetProcAddress (hAdvapi, "SetServiceStatus"); 150 (TSetServiceStatus) GetProcAddress (hAdvapi, "SetServiceStatus");
152 GNStartServiceCtrlDispatcher = 151 GNStartServiceCtrlDispatcher =
153 (TStartServiceCtrlDispatcher) GetProcAddress (hAdvapi, 152 (TStartServiceCtrlDispatcher) GetProcAddress (hAdvapi,
154 "StartServiceCtrlDispatcherA"); 153 "StartServiceCtrlDispatcherA");
155 GNControlService = 154 GNControlService =
156 (TControlService) GetProcAddress (hAdvapi, "ControlService"); 155 (TControlService) GetProcAddress (hAdvapi, "ControlService");
157 GNOpenService = (TOpenService) GetProcAddress (hAdvapi, "OpenServiceA"); 156 GNOpenService = (TOpenService) GetProcAddress (hAdvapi, "OpenServiceA");
158 157
159 GNLsaOpenPolicy = 158 GNLsaOpenPolicy =
160 (TLsaOpenPolicy) GetProcAddress (hAdvapi, "LsaOpenPolicy"); 159 (TLsaOpenPolicy) GetProcAddress (hAdvapi, "LsaOpenPolicy");
161 GNLsaAddAccountRights = 160 GNLsaAddAccountRights =
162 (TLsaAddAccountRights) GetProcAddress (hAdvapi, 161 (TLsaAddAccountRights) GetProcAddress (hAdvapi, "LsaAddAccountRights");
163 "LsaAddAccountRights"); 162 GNLsaRemoveAccountRights =
164 GNLsaRemoveAccountRights = 163 (TLsaRemoveAccountRights) GetProcAddress (hAdvapi,
165 (TLsaRemoveAccountRights) GetProcAddress (hAdvapi, 164 "LsaRemoveAccountRights");
166 "LsaRemoveAccountRights"); 165 GNLsaClose = (TLsaClose) GetProcAddress (hAdvapi, "LsaClose");
167 GNLsaClose = (TLsaClose) GetProcAddress (hAdvapi, "LsaClose"); 166 GNLookupAccountName =
168 GNLookupAccountName = 167 (TLookupAccountName) GetProcAddress (hAdvapi, "LookupAccountNameA");
169 (TLookupAccountName) GetProcAddress (hAdvapi, "LookupAccountNameA");
170 168
171 GNGetFileSecurity = 169 GNGetFileSecurity =
172 (TGetFileSecurity) GetProcAddress (hAdvapi, "GetFileSecurityA"); 170 (TGetFileSecurity) GetProcAddress (hAdvapi, "GetFileSecurityA");
173 GNInitializeSecurityDescriptor = 171 GNInitializeSecurityDescriptor =
174 (TInitializeSecurityDescriptor) GetProcAddress (hAdvapi, 172 (TInitializeSecurityDescriptor) GetProcAddress (hAdvapi,
175 "InitializeSecurityDescriptor"); 173 "InitializeSecurityDescriptor");
176 GNGetSecurityDescriptorDacl = 174 GNGetSecurityDescriptorDacl =
177 (TGetSecurityDescriptorDacl) GetProcAddress (hAdvapi, 175 (TGetSecurityDescriptorDacl) GetProcAddress (hAdvapi,
178 "GetSecurityDescriptorDacl"); 176 "GetSecurityDescriptorDacl");
179 GNGetAclInformation = 177 GNGetAclInformation =
180 (TGetAclInformation) GetProcAddress (hAdvapi, "GetAclInformation"); 178 (TGetAclInformation) GetProcAddress (hAdvapi, "GetAclInformation");
181 GNInitializeAcl = 179 GNInitializeAcl =
182 (TInitializeAcl) GetProcAddress (hAdvapi, "InitializeAcl"); 180 (TInitializeAcl) GetProcAddress (hAdvapi, "InitializeAcl");
183 GNGetAce = (TGetAce) GetProcAddress (hAdvapi, "GetAce"); 181 GNGetAce = (TGetAce) GetProcAddress (hAdvapi, "GetAce");
184 GNEqualSid = (TEqualSid) GetProcAddress (hAdvapi, "EqualSid"); 182 GNEqualSid = (TEqualSid) GetProcAddress (hAdvapi, "EqualSid");
185 GNAddAce = (TAddAce) GetProcAddress (hAdvapi, "AddAce"); 183 GNAddAce = (TAddAce) GetProcAddress (hAdvapi, "AddAce");
186 GNAddAccessAllowedAce = 184 GNAddAccessAllowedAce =
187 (TAddAccessAllowedAce) GetProcAddress (hAdvapi, 185 (TAddAccessAllowedAce) GetProcAddress (hAdvapi, "AddAccessAllowedAce");
188 "AddAccessAllowedAce"); 186 GNSetNamedSecurityInfo =
189 GNSetNamedSecurityInfo = 187 (TSetNamedSecurityInfo) GetProcAddress (hAdvapi,
190 (TSetNamedSecurityInfo) GetProcAddress (hAdvapi, 188 "SetNamedSecurityInfoA");
191 "SetNamedSecurityInfoA"); 189 }
192 }
193 else 190 else
194 { 191 {
195 GNOpenSCManager = NULL; 192 GNOpenSCManager = NULL;
196 GNCreateService = NULL; 193 GNCreateService = NULL;
197 GNCloseServiceHandle = NULL; 194 GNCloseServiceHandle = NULL;
198 GNDeleteService = NULL; 195 GNDeleteService = NULL;
199 GNRegisterServiceCtrlHandler = NULL; 196 GNRegisterServiceCtrlHandler = NULL;
200 GNSetServiceStatus = NULL; 197 GNSetServiceStatus = NULL;
201 GNStartServiceCtrlDispatcher = NULL; 198 GNStartServiceCtrlDispatcher = NULL;
202 GNControlService = NULL; 199 GNControlService = NULL;
203 GNOpenService = NULL; 200 GNOpenService = NULL;
204 201
205 GNLsaOpenPolicy = NULL; 202 GNLsaOpenPolicy = NULL;
206 GNLsaAddAccountRights = NULL; 203 GNLsaAddAccountRights = NULL;
207 GNLsaRemoveAccountRights = NULL; 204 GNLsaRemoveAccountRights = NULL;
208 GNLsaClose = NULL; 205 GNLsaClose = NULL;
209 GNLookupAccountName = NULL; 206 GNLookupAccountName = NULL;
210 207
211 GNGetFileSecurity = NULL; 208 GNGetFileSecurity = NULL;
212 GNInitializeSecurityDescriptor = NULL; 209 GNInitializeSecurityDescriptor = NULL;
213 GNGetSecurityDescriptorDacl = NULL; 210 GNGetSecurityDescriptorDacl = NULL;
214 GNGetAclInformation = NULL; 211 GNGetAclInformation = NULL;
215 GNInitializeAcl = NULL; 212 GNInitializeAcl = NULL;
216 GNGetAce = NULL; 213 GNGetAce = NULL;
217 GNEqualSid = NULL; 214 GNEqualSid = NULL;
218 GNAddAce = NULL; 215 GNAddAce = NULL;
219 GNAddAccessAllowedAce = NULL; 216 GNAddAccessAllowedAce = NULL;
220 GNSetNamedSecurityInfo = NULL; 217 GNSetNamedSecurityInfo = NULL;
221 } 218 }
222 219
223 /* Account function */ 220 /* Account function */
224 hNetapi = LoadLibrary ("netapi32.dll"); 221 hNetapi = LoadLibrary ("netapi32.dll");
225 if (hNetapi) 222 if (hNetapi)
226 { 223 {
227 GNNetUserAdd = (TNetUserAdd) GetProcAddress (hNetapi, "NetUserAdd"); 224 GNNetUserAdd = (TNetUserAdd) GetProcAddress (hNetapi, "NetUserAdd");
228 GNNetUserSetInfo = 225 GNNetUserSetInfo =
229 (TNetUserSetInfo) GetProcAddress (hNetapi, "NetUserSetInfo"); 226 (TNetUserSetInfo) GetProcAddress (hNetapi, "NetUserSetInfo");
230 } 227 }
231 else 228 else
232 { 229 {
233 GNNetUserAdd = NULL; 230 GNNetUserAdd = NULL;
234 GNNetUserSetInfo = NULL; 231 GNNetUserSetInfo = NULL;
235 } 232 }
236 233
237 return ret; 234 return ret;
238} 235}