#include <config.h>
#include <isc/socket.h>
#include <isc/util.h>
#include <named/types.h>
#include <named/lwdclient.h>
Go to the source code of this file.
Functions | |
void | ns_lwdclient_errorpktsend (ns_lwdclient_t *client, isc_uint32_t _result) |
Generate an error packet for the client, schedule a send, and put us in the SEND state. |
Definition in file lwderror.c.
void ns_lwdclient_errorpktsend | ( | ns_lwdclient_t * | client, | |
isc_uint32_t | _result | |||
) |
Generate an error packet for the client, schedule a send, and put us in the SEND state.
The client->pkt structure will be modified to form an error return. The receiver needs to verify that it is in fact an error, and do the right thing with it. The opcode will be unchanged. The result needs to be set before calling this function.
The only change this code makes is to set the receive buffer size to the size we use, set the reply bit, and recompute any security information.
Definition at line 43 of file lwderror.c.
References isc_region::base, ns_lwdclient::buffer, ISC_R_SUCCESS, isc_region::length, NS_LWDCLIENT_ISRUNNING, ns_lwdclient_sendreply(), NS_LWDCLIENT_SETSEND, ns_lwdclient_stateidle(), ns_lwdclient::pkt, r, REQUIRE, and ns_lwdclient::sendbuf.
Referenced by byaddr_done(), generate_reply(), lookup_done(), ns_lwdclient_processgabn(), ns_lwdclient_processgnba(), ns_lwdclient_processgrbn(), ns_lwdclient_processnoop(), process_gabn_finddone(), restart_find(), start_byaddr(), and start_lookup().