win_svc.h File Reference

This file contains functions to integrate with the windows services API. More...

Macros

#define SERVICE_NAME   "unbound"
 service name for unbound (internal to ServiceManager)
 
#define MSG_GENERIC_SUCCESS   ((DWORD)0x20010001L)
 from gen_msg.h - success message record for windows message log
 
#define MSG_GENERIC_INFO   ((DWORD)0x60010002L)
 from gen_msg.h - informational message record for windows message log
 
#define MSG_GENERIC_WARN   ((DWORD)0xA0010003L)
 from gen_msg.h - warning message record for windows message log
 
#define MSG_GENERIC_ERR   ((DWORD)0xE0010004L)
 from gen_msg.h - error message record for windows message log
 

Functions

void wsvc_command_option (const char *wopt, const char *cfgfile, int v, int c)
 Handle commandline service for windows. More...
 
void wsvc_setup_worker (struct worker *worker)
 Setup lead worker events. More...
 
void wsvc_desetup_worker (struct worker *worker)
 Desetup lead worker events. More...
 
void worker_win_stop_cb (int fd, short ev, void *arg)
 windows worker stop event callback handler
 
void wsvc_cron_cb (void *arg)
 windows cron timer callback handler
 

Detailed Description

This file contains functions to integrate with the windows services API.

This means it handles the commandline switches to install and remove the service (via CreateService and DeleteService), it handles the ServiceMain() main service entry point when started as a service, and it handles the Handler[_ex]() to process requests to the service (such as start and stop and status).

Function Documentation

◆ wsvc_command_option()

void wsvc_command_option ( const char *  wopt,
const char *  cfgfile,
int  v,
int  c 
)

Handle commandline service for windows.

Parameters
woptwindows option string (install, remove, service).
cfgfileconfigfile to open (default or passed with -c).
vamount of commandline verbosity added with -v.
ctrue if cfgfile was set by commandline -c option.

References service_start(), wsvc_install(), wsvc_rc_start(), wsvc_rc_stop(), and wsvc_remove().

Referenced by main().

◆ wsvc_setup_worker()

void wsvc_setup_worker ( struct worker worker)

Setup lead worker events.

Parameters
workerthe worker

References service_stop_ev, service_stop_event, and ub_winsock_register_wsaevent().

◆ wsvc_desetup_worker()

void wsvc_desetup_worker ( struct worker worker)

Desetup lead worker events.

Parameters
workerthe worker

Referenced by worker_delete().