Home | History | Annotate | Download | only in DSO

Lines Matching refs:dso

0 /* dso.h
26 // Maximum number of additional TLVs we support in a DSO message.
33 // When we get a DSO query or response with no primary TLV, the TLV type will be "No Primary TLV," which is not
34 // otherwise a valid DSO TLV type.
36 // Standard DSO Types from RFC 8490
41 // Standard DSO Types from RFC 8765
79 // When a DSO message arrives, or one that was sent is acknowledged, or the state of the DSO connection
80 // changes, we need to call the user of the DSO connection.
82 kDSOEventType_DNSMessage, // A DNS message that is not a DSO message
83 kDSOEventType_DNSResponse, // A DNS response that is not a DSO response
86 kDSOEventType_Finalize, // The DSO connection to the other DSO endpoint has terminated and we are
129 // Structure to represent received DSO TLVs
136 // DSO message under construction
165 dso_state_t *dso, dso_event_type_t eventType);
181 dso_state_t *const dso);
192 dso_transport_t *transport; // The transport (e.g., dso-transport.c or other).
195 uint32_t serial; // Unique serial number which can be used after the DSO has been dropped.
196 bool is_server; // True if the endpoint represented by this DSO state is a server
197 // (according to the DSO spec)
198 bool has_session; // True if DSO session establishment has happened for this DSO endpoint
205 dso_activity_t *activities; // Outstanding DSO activities.
210 unsigned max_additls; // Maximum number of additional TLVs this DSO state can represent
218 // Provided by dso.c
224 void dso_state_cancel(dso_state_t *dso);
227 void dso_set_event_context(dso_state_t *dso, void *context);
228 void dso_set_event_callback(dso_state_t *dso, dso_event_callback_t callback);
229 void dso_set_life_cycle_callback(dso_state_t *dso, dso_life_cycle_context_callback_t callback);
237 dso_activity_t *dso_find_activity(dso_state_t *dso, const char *name, const char *activity_type, void *context);
238 dso_activity_t *dso_add_activity(dso_state_t *dso, const char *name, const char *activity_type,
240 void dso_drop_activity(dso_state_t *dso, dso_activity_t *activity);
241 uint32_t dso_ignore_further_responses(dso_state_t *dso, const void *context);
245 * Update the context of the outstanding queries in the DSO state.
247 * @param dso
248 * The reference to the DSO state.
259 void dso_update_outstanding_query_context(dso_state_t *dso, const void *old_context, void *new_context);
262 bool dso_make_message(dso_message_t *state, uint8_t *outbuf, size_t outbuf_size, dso_state_t *dso,
265 void dso_retry_delay(dso_state_t *dso, const DNSMessageHeader *header);
266 void dso_keepalive(dso_state_t *dso, const DNSMessageHeader *header, bool response);
267 void dso_message_received(dso_state_t *dso, const uint8_t *message, size_t message_length, void *context);
268 void dns_message_received(dso_state_t *dso, const uint8_t *message, size_t message_length, void *context);
272 // Provided by DSO transport implementation for use by dso.c:
274 bool dso_send_simple_response(dso_state_t *dso, int rcode, const DNSMessageHeader *header, const char *pres);
275 bool dso_send_not_implemented(dso_state_t *dso, const DNSMessageHeader *header);
276 bool dso_send_refused(dso_state_t *dso, const DNSMessageHeader *header);
277 bool dso_send_formerr(dso_state_t *dso, const DNSMessageHeader *header);
278 bool dso_send_servfail(dso_state_t *dso, const DNSMessageHeader *header);
279 bool dso_send_name_error(dso_state_t *dso, const DNSMessageHeader *header);
280 bool dso_send_no_error(dso_state_t *dso, const DNSMessageHeader *header);