int evdns_server_request_add_ptr_reply ( struct evdns_server_request * req , struct in_addr * in , const char * inaddr_name , const char * hostname , int ttl ) {
 u32 a ;
 char buf [ 32 ] ;
 assert ( in || inaddr_name ) ;
 assert ( ! ( in && inaddr_name ) ) ;
 if ( in ) {
 a = ntohl ( in -> s_addr ) ;
 evutil_snprintf ( buf , sizeof ( buf ) , "%d.%d.%d.%d.in-addr.arpa" , ( int ) ( u8 ) ( ( a ) & 0xff ) , ( int ) ( u8 ) ( ( a >> 8 ) & 0xff ) , ( int ) ( u8 ) ( ( a >> 16 ) & 0xff ) , ( int ) ( u8 ) ( ( a >> 24 ) & 0xff ) ) ;
 inaddr_name = buf ;
 }
 return evdns_server_request_add_reply ( req , EVDNS_ANSWER_SECTION , inaddr_name , TYPE_PTR , CLASS_INET , ttl , - 1 , 1 , hostname ) ;
 }
int evdns_server_request_add_ptr_reply ( struct evdns_server_request * req , struct in_addr * in , const char * inaddr_name , const char * hostname , int ttl ) {
 u32 a ;
 char buf [ 32 ] ;
 assert ( in || inaddr_name ) ;
 assert ( ! ( in && inaddr_name ) ) ;
 if ( in ) {
 a = ntohl ( in -> s_addr ) ;
 evutil_snprintf ( buf , sizeof ( buf ) , "%d.%d.%d.%d.in-addr.arpa" , ( int ) ( u8 ) ( ( a ) & 0xff ) , ( int ) ( u8 ) ( ( a >> 8 ) & 0xff ) , ( int ) ( u8 ) ( ( a >> 16 ) & 0xff ) , ( int ) ( u8 ) ( ( a >> 24 ) & 0xff ) ) ;
 inaddr_name = buf ;
 }
 return evdns_server_request_add_reply ( req , EVDNS_ANSWER_SECTION , inaddr_name , TYPE_PTR , CLASS_INET , ttl , - 1 , 1 , hostname ) ;
 }