2 #ifndef __DNSCRYPT_PLUGIN_H__
3 #define __DNSCRYPT_PLUGIN_H__ 1
29 #include <dnscrypt/private.h>
30 #include <dnscrypt/version.h>
43 #define DCPLUGIN_MAIN(ID) DCPLUGIN_MAIN_PRIVATE(ID)
82 DCP_SYNC_FILTER_RESULT_OK,
83 DCP_SYNC_FILTER_RESULT_DIRECT,
84 DCP_SYNC_FILTER_RESULT_KILL,
85 DCP_SYNC_FILTER_RESULT_ERROR,
86 DCP_SYNC_FILTER_RESULT_FATAL
157 #define dcplugin_get_user_data(P) ((P)->user_data)
166 #define dcplugin_set_user_data(P, V) ((P)->user_data = (V))
174 #define dcplugin_get_client_address(D) ((D)->client_sockaddr)
182 #define dcplugin_get_client_address_len(D) ((D)->client_sockaddr_len)
192 #define dcplugin_get_wire_data(D) ((D)->dns_packet)
203 #define dcplugin_set_wire_data(D, V, L) do { \
204 dcplugin_set_wire_data_len((D), (L)); \
205 memcpy(dcplugin_get_wire_data(D), (V), (L)); \
215 #define dcplugin_get_wire_data_len(D) (*((D)->dns_packet_len_p))
225 #define dcplugin_set_wire_data_len(D, L) do { \
226 assert(dcplugin_get_wire_data_max_len(D) >= (L)); \
227 (*((D)->dns_packet_len_p)) = (L); \
238 #define dcplugin_get_wire_data_max_len(D) ((D)->dns_packet_max_len)