aboutsummaryrefslogtreecommitdiff
path: root/src/or/ntmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/or/ntmain.c')
-rw-r--r--src/or/ntmain.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/or/ntmain.c b/src/or/ntmain.c
index 88537f3314..4eb487e976 100644
--- a/src/or/ntmain.c
+++ b/src/or/ntmain.c
@@ -54,6 +54,11 @@ static int nt_service_cmd_stop(void);
struct service_fns {
int loaded;
+ /** @{ */
+ /** Function pointers for Windows API functions related to service
+ * management. These are NULL, or they point to the . They're set by
+ * calling the LOAD macro below. */
+
BOOL (WINAPI *ChangeServiceConfig2A_fn)(
SC_HANDLE hService,
DWORD dwInfoLevel,
@@ -122,6 +127,7 @@ struct service_fns {
LPTSTR ReferencedDomainName,
LPDWORD cchReferencedDomainName,
PSID_NAME_USE peUse);
+ /** @} */
} service_fns = { 0,
NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL,
@@ -144,6 +150,10 @@ nt_service_loadlibrary(void)
goto err;
}
+/* Helper macro: try to load a function named <b>f</b> from "library" into
+ * service_functions.<b>f</b>_fn. On failure, log an error message, and goto
+ * err.
+ */
#define LOAD(f) STMT_BEGIN \
if (!(fn = GetProcAddress(library, #f))) { \
log_err(LD_BUG, \