Apache HTTPD
Classes | Macros | Typedefs | Functions | Variables
service.c File Reference
#include "apr.h"
#include "apr_strings.h"
#include "apr_lib.h"
#include "httpd.h"
#include "http_log.h"
#include "mpm_winnt.h"
#include "ap_regkey.h"
#include <winuser.h>
#include <time.h>

Go to the source code of this file.

Classes

struct  nt_service_ctx_t
 

Macros

#define _WINUSER_
 

Typedefs

typedef struct nt_service_ctx_t nt_service_ctx_t
 
typedef SC_HANDLE(WINAPIfpt_OpenSCManager) (const void *lpMachine, const void *lpDatabase, DWORD dwAccess)
 

Functions

static int ReportStatusToSCMgr (int currentState, int waitHint, nt_service_ctx_t *ctx)
 
static APR_INLINE SC_HANDLE OpenSCManager (const void *lpMachine, const void *lpDatabase, DWORD dwAccess)
 
void hold_console_open_on_error (void)
 
static BOOL CALLBACK console_control_handler (DWORD ctrl_type)
 
static void stop_console_handler (void)
 
void mpm_start_console_handler (void)
 
void mpm_start_child_console_handler (void)
 
static void set_service_description (void)
 
static DWORD WINAPI service_nt_ctrl (DWORD dwCtrlCode, DWORD dwEventType, LPVOID lpEventData, LPVOID lpContext)
 
static DWORD WINAPI service_nt_dispatch_thread (LPVOID nada)
 
apr_status_t mpm_service_set_name (apr_pool_t *p, const char **display_name, const char *set_name)
 
apr_status_t mpm_merge_service_args (apr_pool_t *p, apr_array_header_t *args, int fixed_args)
 
static void service_stopped (void)
 
apr_status_t mpm_service_to_start (const char **display_name, apr_pool_t *p)
 
apr_status_t mpm_service_started (void)
 
void mpm_service_stopping (void)
 
apr_status_t mpm_service_install (apr_pool_t *ptemp, int argc, const char *const *argv, int reconfig)
 
apr_status_t mpm_service_uninstall (void)
 
static int signal_service_transition (SC_HANDLE schService, DWORD signal, DWORD pending, DWORD complete)
 
apr_status_t mpm_service_start (apr_pool_t *ptemp, int argc, const char *const *argv)
 
void mpm_signal_service (apr_pool_t *ptemp, int signal)
 

Variables

static int *const aplog_module_index = &( mpm_winnt_module.module_index)
 
static charmpm_service_name = NULL
 
static charmpm_display_name = NULL
 
static nt_service_ctx_t globdat
 
static fpt_OpenSCManager pfn_OpenSCManager = NULL
 
int ap_real_exit_code = 1
 
apr_pool_tpconf
 
apr_array_header_tmpm_new_argv
 

Macro Definition Documentation

◆ _WINUSER_

#define _WINUSER_

Definition at line 22 of file service.c.

Typedef Documentation

◆ fpt_OpenSCManager

typedef SC_HANDLE(WINAPI * fpt_OpenSCManager) (const void *lpMachine, const void *lpDatabase, DWORD dwAccess)

Definition at line 76 of file service.c.

◆ nt_service_ctx_t

Function Documentation

◆ console_control_handler()

static BOOL CALLBACK console_control_handler ( DWORD  ctrl_type)
static

Definition at line 164 of file service.c.

◆ OpenSCManager()

static APR_INLINE SC_HANDLE OpenSCManager ( const void *  lpMachine,
const void *  lpDatabase,
DWORD  dwAccess 
)
static

Definition at line 80 of file service.c.

◆ ReportStatusToSCMgr()

static int ReportStatusToSCMgr ( int  currentState,
int  waitHint,
nt_service_ctx_t ctx 
)
static

Definition at line 223 of file service.c.

◆ service_nt_ctrl()

static DWORD WINAPI service_nt_ctrl ( DWORD  dwCtrlCode,
DWORD  dwEventType,
LPVOID  lpEventData,
LPVOID  lpContext 
)
static

Definition at line 341 of file service.c.

◆ service_nt_dispatch_thread()

static DWORD WINAPI service_nt_dispatch_thread ( LPVOID  nada)
static

Definition at line 511 of file service.c.

◆ service_stopped()

static void service_stopped ( void  )
static

Definition at line 665 of file service.c.

◆ set_service_description()

static void set_service_description ( void  )
static

Definition at line 268 of file service.c.

◆ signal_service_transition()

static int signal_service_transition ( SC_HANDLE  schService,
DWORD  signal,
DWORD  pending,
DWORD  complete 
)
static

Definition at line 1019 of file service.c.

◆ stop_console_handler()

static void stop_console_handler ( void  )
static

Definition at line 200 of file service.c.

Variable Documentation

◆ ap_real_exit_code

int ap_real_exit_code = 1

Definition at line 109 of file service.c.

◆ aplog_module_index

int* const aplog_module_index = &( mpm_winnt_module.module_index)
static

Definition at line 45 of file service.c.

◆ globdat

nt_service_ctx_t globdat
static

Definition at line 66 of file service.c.

◆ mpm_display_name

char* mpm_display_name = NULL
static

Definition at line 49 of file service.c.

◆ mpm_new_argv

apr_array_header_t* mpm_new_argv
extern

◆ mpm_service_name

char* mpm_service_name = NULL
static

Definition at line 48 of file service.c.

◆ pconf

apr_pool_t* pconf
extern

◆ pfn_OpenSCManager

fpt_OpenSCManager pfn_OpenSCManager = NULL
static

Definition at line 79 of file service.c.