unbound 0.1
daemon.h File Reference

The daemon consists of global settings and a number of workers. More...

#include "util/locks.h"
#include "util/alloc.h"
#include "services/modstack.h"
#include "dnstap/dnstap_config.h"
#include "dnscrypt/dnscrypt_config.h"

Data Structures

struct  daemon
 Structure holding worker list. More...
 

Functions

struct daemondaemon_init (void)
 Initialize daemon structure.
 
int daemon_open_shared_ports (struct daemon *daemon)
 Open shared listening ports (if needed).
 
int daemon_privileged (struct daemon *daemon)
 Do daemon setup that needs privileges like opening privileged ports or opening device files.
 
void daemon_fork (struct daemon *daemon)
 Fork workers and start service.
 
void daemon_cleanup (struct daemon *daemon)
 Close off the worker thread information.
 
void daemon_delete (struct daemon *daemon)
 Delete workers, close listening ports.
 
void daemon_apply_cfg (struct daemon *daemon, struct config_file *cfg)
 Apply config settings.
 

Detailed Description

The daemon consists of global settings and a number of workers.

Function Documentation

◆ daemon_init()

◆ daemon_open_shared_ports()

◆ daemon_privileged()

int daemon_privileged ( struct daemon * daemon)

Do daemon setup that needs privileges like opening privileged ports or opening device files.

The cfg member pointer must have been set for the daemon.

Parameters
daemonthe daemon.
Returns
: false on error.

References module_env::alloc, daemon::cfg, module_env::cfg, daemon::env, fatal_exit(), daemon::mods, modstack_call_startup(), config_file::module_conf, daemon::superalloc, and module_env::worker.

Referenced by perform_setup(), and service_init().

◆ daemon_fork()

◆ daemon_cleanup()

◆ daemon_delete()

◆ daemon_apply_cfg()