unbound: winrc/win_svc.h File Reference

unbound 0.1

Macros | Functions
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.
void | wsvc_setup_worker (struct worker *worker)
| Setup lead worker events.
void | wsvc_desetup_worker (struct worker *worker)
| Desetup lead worker events.
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

  wopt | windows option string (install, remove, service).
  cfgfile | configfile to open (default or passed with -c).
  v | amount of commandline verbosity added with -v.
  c | true if cfgfile was set by commandline -c option.

References fatal_exit(), 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

  worker | the worker

References worker::base, comm_timer_create(), fatal_exit(), service_cron, service_stop_ev, service_stop_event, set_cron_timer(), ub_winsock_register_wsaevent(), worker_win_stop_cb(), and wsvc_cron_cb().

Referenced by worker_init().

## ◆ wsvc_desetup_worker()

void wsvc_desetup_worker | ( | struct worker * | worker | ) |

Desetup lead worker events.

Parameters

  worker | the worker

References comm_timer_delete(), and service_cron.

Referenced by worker_delete().