OpenDNSSEC-signer  1.4.7
Data Structures | Macros | Typedefs | Enumerations | Functions
query.h File Reference
#include "config.h"
#include "shared/allocator.h"
#include "signer/zone.h"
#include "wire/buffer.h"
#include "wire/edns.h"
#include "wire/tsig.h"
Include dependency graph for query.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  query_struct
 
struct  response_struct
 

Macros

#define UDP_MAX_MESSAGE_LEN   512
 
#define TCP_MAX_MESSAGE_LEN   65535
 
#define QUERY_RESPONSE_MAX_RRSET   10 /* should be enough */
 

Typedefs

typedef enum query_enum query_state
 
typedef struct query_struct query_type
 
typedef struct response_struct response_type
 

Enumerations

enum  query_enum { QUERY_PROCESSED = 0, QUERY_DISCARDED, QUERY_AXFR, QUERY_IXFR }
 

Functions

query_typequery_create (void)
 
void query_prepare (query_type *q)
 
query_state query_process (query_type *q, void *engine)
 
void query_reset (query_type *q, size_t maxlen, int is_tcp)
 
void query_add_optional (query_type *q, void *engine)
 
int query_add_rr (query_type *q, ldns_rr *rr)
 
void query_cleanup (query_type *q)
 

Macro Definition Documentation

#define QUERY_RESPONSE_MAX_RRSET   10 /* should be enough */

Definition at line 44 of file query.h.

#define TCP_MAX_MESSAGE_LEN   65535

Definition at line 43 of file query.h.

Referenced by sock_handle_tcp_read().

#define UDP_MAX_MESSAGE_LEN   512

Query.

Definition at line 42 of file query.h.

Referenced by query_create(), and sock_handle_udp().

Typedef Documentation

typedef enum query_enum query_state

Definition at line 52 of file query.h.

typedef struct query_struct query_type

Query.

Definition at line 58 of file query.h.

Response.

Definition at line 97 of file query.h.

Enumeration Type Documentation

enum query_enum
Enumerator
QUERY_PROCESSED 
QUERY_DISCARDED 
QUERY_AXFR 
QUERY_IXFR 

Definition at line 46 of file query.h.

Function Documentation

void query_add_optional ( query_type q,
void *  engine 
)
int query_add_rr ( query_type q,
ldns_rr *  rr 
)

Add RR to query.

Parameters
[in]qquery
[in]rrRR
Returns
int 1 if ok, 0 if overflow.

Add RR to query.

Definition at line 1041 of file query.c.

References query_struct::buffer, buffer_available(), buffer_position(), buffer_set_position(), buffer_skip(), buffer_write_rdf(), buffer_write_u16(), buffer_write_u16_at(), buffer_write_u32(), and ods_log_assert.

Referenced by axfr(), ixfr(), and soa_request().

void query_cleanup ( query_type q)
query_type* query_create ( void  )
void query_prepare ( query_type q)
query_state query_process ( query_type q,
void *  engine 
)
void query_reset ( query_type q,
size_t  maxlen,
int  is_tcp 
)