OpenDNSSEC-signer  1.4.6
Data Structures | Typedefs | Enumerations | Functions
task.h File Reference
#include "config.h"
#include "shared/allocator.h"
#include <ldns/ldns.h>
Include dependency graph for task.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  task_struct
 

Typedefs

typedef enum task_id_enum task_id
 
typedef struct task_struct task_type
 

Enumerations

enum  task_id_enum {
  TASK_NONE = 0, TASK_SIGNCONF, TASK_READ, TASK_NSECIFY,
  TASK_SIGN, TASK_WRITE
}
 

Functions

task_typetask_create (task_id what, time_t when, void *zone)
 
void task_backup (FILE *fd, task_type *task)
 
int task_compare (const void *a, const void *b)
 
char * task2str (task_type *task, char *buftask)
 
const char * task_what2str (task_id what)
 
const char * task_who2str (task_type *task)
 
void task_print (FILE *out, task_type *task)
 
void task_log (task_type *task)
 
void task_cleanup (task_type *task)
 

Typedef Documentation

typedef enum task_id_enum task_id

Definition at line 48 of file task.h.

typedef struct task_struct task_type

Task.

Definition at line 53 of file task.h.

Enumeration Type Documentation

Tasks.

Enumerator
TASK_NONE 
TASK_SIGNCONF 
TASK_READ 
TASK_NSECIFY 
TASK_SIGN 
TASK_WRITE 

Definition at line 40 of file task.h.

Function Documentation

char* task2str ( task_type task,
char *  buftask 
)

Convert task to string.

Parameters
[in]tasktask
[out]bufferto store string-based task in
Returns
string-format task

Convert task to string.

Definition at line 194 of file task.c.

References task_struct::flush, ods_log_error(), task_what2str(), task_who2str(), task_struct::what, and task_struct::when.

void task_backup ( FILE *  fd,
task_type task 
)

Backup task.

Parameters
[in]fdfile descriptor
[in]tasktask

Backup task.

Definition at line 87 of file task.c.

References task_struct::backoff, task_struct::flush, task_struct::halted, task_struct::interrupt, ods_log_assert, task_struct::what, and task_struct::when.

void task_cleanup ( task_type task)

Clean up task.

Parameters
[in]tasktask

Clean up task.

Definition at line 275 of file task.c.

References task_struct::allocator, allocator_cleanup(), and allocator_deallocate().

Referenced by engine_update_zones().

int task_compare ( const void *  a,
const void *  b 
)

Compare tasks.

Parameters
[in]aone task
[in]banother task
Returns
int -1, 0 or 1

Compare tasks.

Definition at line 112 of file task.c.

References zone_struct::apex, ods_log_assert, task_struct::what, task_struct::when, and task_struct::zone.

Referenced by schedule_create().

task_type* task_create ( task_id  what,
time_t  when,
void *  zone 
)

Create a new task.

Parameters
[in]whattask identifier
[in]whenscheduled time
[in]zonezone reference
Returns
task_type* created task

Create a new task.

Definition at line 48 of file task.c.

References task_struct::allocator, allocator_alloc(), allocator_cleanup(), allocator_create(), task_struct::backoff, task_struct::flush, task_struct::halted, task_struct::halted_when, task_struct::interrupt, ods_log_error(), TASK_NONE, task_struct::what, task_struct::when, and task_struct::zone.

Referenced by engine_update_zones(), and zone_recover2().

void task_log ( task_type task)

Log task.

Parameters
[in]tasktask

Log task.

Definition at line 253 of file task.c.

References task_struct::flush, ods_log_debug(), task_what2str(), task_who2str(), task_struct::what, and task_struct::when.

Referenced by schedule_task().

void task_print ( FILE *  out,
task_type task 
)

Print task.

Parameters
[in]outfile descriptor
[in]tasktask

Print task.

Definition at line 231 of file task.c.

References task_struct::flush, task_what2str(), task_who2str(), task_struct::what, and task_struct::when.

Referenced by schedule_print().

const char* task_what2str ( task_id  what)

String-format of who.

Parameters
[in]whattask identifier
Returns
const char* string-format of what

String-format of what.

Definition at line 146 of file task.c.

References TASK_NONE, TASK_READ, TASK_SIGN, TASK_SIGNCONF, and TASK_WRITE.

Referenced by schedule_task(), task2str(), task_log(), task_print(), and unschedule_task().

const char* task_who2str ( task_type task)

String-format of who.

Parameters
[in]tasktask
Returns
const char* string-format of who

String-format of who.

Definition at line 176 of file task.c.

References zone_struct::name, and task_struct::zone.

Referenced by schedule_pop_task(), schedule_task(), task2str(), task_log(), task_print(), and unschedule_task().