1*b7579f77SDag-Erling Smørgrav /* 2*b7579f77SDag-Erling Smørgrav * checkconf/worker_cb.c - fake callback routines to make fptr_wlist work 3*b7579f77SDag-Erling Smørgrav * 4*b7579f77SDag-Erling Smørgrav * Copyright (c) 2007, NLnet Labs. All rights reserved. 5*b7579f77SDag-Erling Smørgrav * 6*b7579f77SDag-Erling Smørgrav * This software is open source. 7*b7579f77SDag-Erling Smørgrav * 8*b7579f77SDag-Erling Smørgrav * Redistribution and use in source and binary forms, with or without 9*b7579f77SDag-Erling Smørgrav * modification, are permitted provided that the following conditions 10*b7579f77SDag-Erling Smørgrav * are met: 11*b7579f77SDag-Erling Smørgrav * 12*b7579f77SDag-Erling Smørgrav * Redistributions of source code must retain the above copyright notice, 13*b7579f77SDag-Erling Smørgrav * this list of conditions and the following disclaimer. 14*b7579f77SDag-Erling Smørgrav * 15*b7579f77SDag-Erling Smørgrav * Redistributions in binary form must reproduce the above copyright notice, 16*b7579f77SDag-Erling Smørgrav * this list of conditions and the following disclaimer in the documentation 17*b7579f77SDag-Erling Smørgrav * and/or other materials provided with the distribution. 18*b7579f77SDag-Erling Smørgrav * 19*b7579f77SDag-Erling Smørgrav * Neither the name of the NLNET LABS nor the names of its contributors may 20*b7579f77SDag-Erling Smørgrav * be used to endorse or promote products derived from this software without 21*b7579f77SDag-Erling Smørgrav * specific prior written permission. 22*b7579f77SDag-Erling Smørgrav * 23*b7579f77SDag-Erling Smørgrav * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 24*b7579f77SDag-Erling Smørgrav * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 25*b7579f77SDag-Erling Smørgrav * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 26*b7579f77SDag-Erling Smørgrav * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE 27*b7579f77SDag-Erling Smørgrav * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 28*b7579f77SDag-Erling Smørgrav * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 29*b7579f77SDag-Erling Smørgrav * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 30*b7579f77SDag-Erling Smørgrav * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 31*b7579f77SDag-Erling Smørgrav * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 32*b7579f77SDag-Erling Smørgrav * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 33*b7579f77SDag-Erling Smørgrav * POSSIBILITY OF SUCH DAMAGE. 34*b7579f77SDag-Erling Smørgrav */ 35*b7579f77SDag-Erling Smørgrav 36*b7579f77SDag-Erling Smørgrav /** 37*b7579f77SDag-Erling Smørgrav * \file 38*b7579f77SDag-Erling Smørgrav * 39*b7579f77SDag-Erling Smørgrav * This file contains fake callback functions, so that the symbols exist 40*b7579f77SDag-Erling Smørgrav * and the fptr_wlist continues to work even if the daemon/worker is not 41*b7579f77SDag-Erling Smørgrav * linked into the resulting program. 42*b7579f77SDag-Erling Smørgrav */ 43*b7579f77SDag-Erling Smørgrav #include "config.h" 44*b7579f77SDag-Erling Smørgrav #include "util/log.h" 45*b7579f77SDag-Erling Smørgrav #include "services/mesh.h" 46*b7579f77SDag-Erling Smørgrav struct comm_reply; 47*b7579f77SDag-Erling Smørgrav struct comm_point; 48*b7579f77SDag-Erling Smørgrav struct module_qstate; 49*b7579f77SDag-Erling Smørgrav struct tube; 50*b7579f77SDag-Erling Smørgrav 51*b7579f77SDag-Erling Smørgrav void worker_handle_control_cmd(struct tube* ATTR_UNUSED(tube), 52*b7579f77SDag-Erling Smørgrav uint8_t* ATTR_UNUSED(buffer), size_t ATTR_UNUSED(len), 53*b7579f77SDag-Erling Smørgrav int ATTR_UNUSED(error), void* ATTR_UNUSED(arg)) 54*b7579f77SDag-Erling Smørgrav { 55*b7579f77SDag-Erling Smørgrav log_assert(0); 56*b7579f77SDag-Erling Smørgrav } 57*b7579f77SDag-Erling Smørgrav 58*b7579f77SDag-Erling Smørgrav int worker_handle_request(struct comm_point* ATTR_UNUSED(c), 59*b7579f77SDag-Erling Smørgrav void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 60*b7579f77SDag-Erling Smørgrav struct comm_reply* ATTR_UNUSED(repinfo)) 61*b7579f77SDag-Erling Smørgrav { 62*b7579f77SDag-Erling Smørgrav log_assert(0); 63*b7579f77SDag-Erling Smørgrav return 0; 64*b7579f77SDag-Erling Smørgrav } 65*b7579f77SDag-Erling Smørgrav 66*b7579f77SDag-Erling Smørgrav int worker_handle_reply(struct comm_point* ATTR_UNUSED(c), 67*b7579f77SDag-Erling Smørgrav void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 68*b7579f77SDag-Erling Smørgrav struct comm_reply* ATTR_UNUSED(reply_info)) 69*b7579f77SDag-Erling Smørgrav { 70*b7579f77SDag-Erling Smørgrav log_assert(0); 71*b7579f77SDag-Erling Smørgrav return 0; 72*b7579f77SDag-Erling Smørgrav } 73*b7579f77SDag-Erling Smørgrav 74*b7579f77SDag-Erling Smørgrav int worker_handle_service_reply(struct comm_point* ATTR_UNUSED(c), 75*b7579f77SDag-Erling Smørgrav void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 76*b7579f77SDag-Erling Smørgrav struct comm_reply* ATTR_UNUSED(reply_info)) 77*b7579f77SDag-Erling Smørgrav { 78*b7579f77SDag-Erling Smørgrav log_assert(0); 79*b7579f77SDag-Erling Smørgrav return 0; 80*b7579f77SDag-Erling Smørgrav } 81*b7579f77SDag-Erling Smørgrav 82*b7579f77SDag-Erling Smørgrav int remote_accept_callback(struct comm_point* ATTR_UNUSED(c), 83*b7579f77SDag-Erling Smørgrav void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 84*b7579f77SDag-Erling Smørgrav struct comm_reply* ATTR_UNUSED(repinfo)) 85*b7579f77SDag-Erling Smørgrav { 86*b7579f77SDag-Erling Smørgrav log_assert(0); 87*b7579f77SDag-Erling Smørgrav return 0; 88*b7579f77SDag-Erling Smørgrav } 89*b7579f77SDag-Erling Smørgrav 90*b7579f77SDag-Erling Smørgrav int remote_control_callback(struct comm_point* ATTR_UNUSED(c), 91*b7579f77SDag-Erling Smørgrav void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 92*b7579f77SDag-Erling Smørgrav struct comm_reply* ATTR_UNUSED(repinfo)) 93*b7579f77SDag-Erling Smørgrav { 94*b7579f77SDag-Erling Smørgrav log_assert(0); 95*b7579f77SDag-Erling Smørgrav return 0; 96*b7579f77SDag-Erling Smørgrav } 97*b7579f77SDag-Erling Smørgrav 98*b7579f77SDag-Erling Smørgrav void worker_sighandler(int ATTR_UNUSED(sig), void* ATTR_UNUSED(arg)) 99*b7579f77SDag-Erling Smørgrav { 100*b7579f77SDag-Erling Smørgrav log_assert(0); 101*b7579f77SDag-Erling Smørgrav } 102*b7579f77SDag-Erling Smørgrav 103*b7579f77SDag-Erling Smørgrav struct outbound_entry* worker_send_query(uint8_t* ATTR_UNUSED(qname), 104*b7579f77SDag-Erling Smørgrav size_t ATTR_UNUSED(qnamelen), uint16_t ATTR_UNUSED(qtype), 105*b7579f77SDag-Erling Smørgrav uint16_t ATTR_UNUSED(qclass), uint16_t ATTR_UNUSED(flags), 106*b7579f77SDag-Erling Smørgrav int ATTR_UNUSED(dnssec), int ATTR_UNUSED(want_dnssec), 107*b7579f77SDag-Erling Smørgrav struct sockaddr_storage* ATTR_UNUSED(addr), 108*b7579f77SDag-Erling Smørgrav socklen_t ATTR_UNUSED(addrlen), struct module_qstate* ATTR_UNUSED(q)) 109*b7579f77SDag-Erling Smørgrav { 110*b7579f77SDag-Erling Smørgrav log_assert(0); 111*b7579f77SDag-Erling Smørgrav return 0; 112*b7579f77SDag-Erling Smørgrav } 113*b7579f77SDag-Erling Smørgrav 114*b7579f77SDag-Erling Smørgrav #ifdef UB_ON_WINDOWS 115*b7579f77SDag-Erling Smørgrav void 116*b7579f77SDag-Erling Smørgrav worker_win_stop_cb(int ATTR_UNUSED(fd), short ATTR_UNUSED(ev), void* 117*b7579f77SDag-Erling Smørgrav ATTR_UNUSED(arg)) { 118*b7579f77SDag-Erling Smørgrav log_assert(0); 119*b7579f77SDag-Erling Smørgrav } 120*b7579f77SDag-Erling Smørgrav 121*b7579f77SDag-Erling Smørgrav void 122*b7579f77SDag-Erling Smørgrav wsvc_cron_cb(void* ATTR_UNUSED(arg)) 123*b7579f77SDag-Erling Smørgrav { 124*b7579f77SDag-Erling Smørgrav log_assert(0); 125*b7579f77SDag-Erling Smørgrav } 126*b7579f77SDag-Erling Smørgrav #endif /* UB_ON_WINDOWS */ 127*b7579f77SDag-Erling Smørgrav 128*b7579f77SDag-Erling Smørgrav void 129*b7579f77SDag-Erling Smørgrav worker_alloc_cleanup(void* ATTR_UNUSED(arg)) 130*b7579f77SDag-Erling Smørgrav { 131*b7579f77SDag-Erling Smørgrav log_assert(0); 132*b7579f77SDag-Erling Smørgrav } 133*b7579f77SDag-Erling Smørgrav 134*b7579f77SDag-Erling Smørgrav struct outbound_entry* libworker_send_query(uint8_t* ATTR_UNUSED(qname), 135*b7579f77SDag-Erling Smørgrav size_t ATTR_UNUSED(qnamelen), uint16_t ATTR_UNUSED(qtype), 136*b7579f77SDag-Erling Smørgrav uint16_t ATTR_UNUSED(qclass), uint16_t ATTR_UNUSED(flags), 137*b7579f77SDag-Erling Smørgrav int ATTR_UNUSED(dnssec), int ATTR_UNUSED(want_dnssec), 138*b7579f77SDag-Erling Smørgrav struct sockaddr_storage* ATTR_UNUSED(addr), 139*b7579f77SDag-Erling Smørgrav socklen_t ATTR_UNUSED(addrlen), struct module_qstate* ATTR_UNUSED(q)) 140*b7579f77SDag-Erling Smørgrav { 141*b7579f77SDag-Erling Smørgrav log_assert(0); 142*b7579f77SDag-Erling Smørgrav return 0; 143*b7579f77SDag-Erling Smørgrav } 144*b7579f77SDag-Erling Smørgrav 145*b7579f77SDag-Erling Smørgrav int libworker_handle_reply(struct comm_point* ATTR_UNUSED(c), 146*b7579f77SDag-Erling Smørgrav void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 147*b7579f77SDag-Erling Smørgrav struct comm_reply* ATTR_UNUSED(reply_info)) 148*b7579f77SDag-Erling Smørgrav { 149*b7579f77SDag-Erling Smørgrav log_assert(0); 150*b7579f77SDag-Erling Smørgrav return 0; 151*b7579f77SDag-Erling Smørgrav } 152*b7579f77SDag-Erling Smørgrav 153*b7579f77SDag-Erling Smørgrav int libworker_handle_service_reply(struct comm_point* ATTR_UNUSED(c), 154*b7579f77SDag-Erling Smørgrav void* ATTR_UNUSED(arg), int ATTR_UNUSED(error), 155*b7579f77SDag-Erling Smørgrav struct comm_reply* ATTR_UNUSED(reply_info)) 156*b7579f77SDag-Erling Smørgrav { 157*b7579f77SDag-Erling Smørgrav log_assert(0); 158*b7579f77SDag-Erling Smørgrav return 0; 159*b7579f77SDag-Erling Smørgrav } 160*b7579f77SDag-Erling Smørgrav 161*b7579f77SDag-Erling Smørgrav void libworker_handle_control_cmd(struct tube* ATTR_UNUSED(tube), 162*b7579f77SDag-Erling Smørgrav uint8_t* ATTR_UNUSED(buffer), size_t ATTR_UNUSED(len), 163*b7579f77SDag-Erling Smørgrav int ATTR_UNUSED(error), void* ATTR_UNUSED(arg)) 164*b7579f77SDag-Erling Smørgrav { 165*b7579f77SDag-Erling Smørgrav log_assert(0); 166*b7579f77SDag-Erling Smørgrav } 167*b7579f77SDag-Erling Smørgrav 168*b7579f77SDag-Erling Smørgrav void libworker_fg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode), 169*b7579f77SDag-Erling Smørgrav ldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s), 170*b7579f77SDag-Erling Smørgrav char* ATTR_UNUSED(why_bogus)) 171*b7579f77SDag-Erling Smørgrav { 172*b7579f77SDag-Erling Smørgrav log_assert(0); 173*b7579f77SDag-Erling Smørgrav } 174*b7579f77SDag-Erling Smørgrav 175*b7579f77SDag-Erling Smørgrav void libworker_bg_done_cb(void* ATTR_UNUSED(arg), int ATTR_UNUSED(rcode), 176*b7579f77SDag-Erling Smørgrav ldns_buffer* ATTR_UNUSED(buf), enum sec_status ATTR_UNUSED(s), 177*b7579f77SDag-Erling Smørgrav char* ATTR_UNUSED(why_bogus)) 178*b7579f77SDag-Erling Smørgrav { 179*b7579f77SDag-Erling Smørgrav log_assert(0); 180*b7579f77SDag-Erling Smørgrav } 181*b7579f77SDag-Erling Smørgrav 182*b7579f77SDag-Erling Smørgrav int context_query_cmp(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b)) 183*b7579f77SDag-Erling Smørgrav { 184*b7579f77SDag-Erling Smørgrav log_assert(0); 185*b7579f77SDag-Erling Smørgrav return 0; 186*b7579f77SDag-Erling Smørgrav } 187*b7579f77SDag-Erling Smørgrav 188*b7579f77SDag-Erling Smørgrav void worker_stat_timer_cb(void* ATTR_UNUSED(arg)) 189*b7579f77SDag-Erling Smørgrav { 190*b7579f77SDag-Erling Smørgrav log_assert(0); 191*b7579f77SDag-Erling Smørgrav } 192*b7579f77SDag-Erling Smørgrav 193*b7579f77SDag-Erling Smørgrav void worker_probe_timer_cb(void* ATTR_UNUSED(arg)) 194*b7579f77SDag-Erling Smørgrav { 195*b7579f77SDag-Erling Smørgrav log_assert(0); 196*b7579f77SDag-Erling Smørgrav } 197*b7579f77SDag-Erling Smørgrav 198*b7579f77SDag-Erling Smørgrav void worker_start_accept(void* ATTR_UNUSED(arg)) 199*b7579f77SDag-Erling Smørgrav { 200*b7579f77SDag-Erling Smørgrav log_assert(0); 201*b7579f77SDag-Erling Smørgrav } 202*b7579f77SDag-Erling Smørgrav 203*b7579f77SDag-Erling Smørgrav void worker_stop_accept(void* ATTR_UNUSED(arg)) 204*b7579f77SDag-Erling Smørgrav { 205*b7579f77SDag-Erling Smørgrav log_assert(0); 206*b7579f77SDag-Erling Smørgrav } 207*b7579f77SDag-Erling Smørgrav 208*b7579f77SDag-Erling Smørgrav /** keep track of lock id in lock-verify application */ 209*b7579f77SDag-Erling Smørgrav struct order_id { 210*b7579f77SDag-Erling Smørgrav /** the thread id that created it */ 211*b7579f77SDag-Erling Smørgrav int thr; 212*b7579f77SDag-Erling Smørgrav /** the instance number of creation */ 213*b7579f77SDag-Erling Smørgrav int instance; 214*b7579f77SDag-Erling Smørgrav }; 215*b7579f77SDag-Erling Smørgrav 216*b7579f77SDag-Erling Smørgrav int order_lock_cmp(const void* e1, const void* e2) 217*b7579f77SDag-Erling Smørgrav { 218*b7579f77SDag-Erling Smørgrav struct order_id* o1 = (struct order_id*)e1; 219*b7579f77SDag-Erling Smørgrav struct order_id* o2 = (struct order_id*)e2; 220*b7579f77SDag-Erling Smørgrav if(o1->thr < o2->thr) return -1; 221*b7579f77SDag-Erling Smørgrav if(o1->thr > o2->thr) return 1; 222*b7579f77SDag-Erling Smørgrav if(o1->instance < o2->instance) return -1; 223*b7579f77SDag-Erling Smørgrav if(o1->instance > o2->instance) return 1; 224*b7579f77SDag-Erling Smørgrav return 0; 225*b7579f77SDag-Erling Smørgrav } 226*b7579f77SDag-Erling Smørgrav 227*b7579f77SDag-Erling Smørgrav int 228*b7579f77SDag-Erling Smørgrav codeline_cmp(const void* a, const void* b) 229*b7579f77SDag-Erling Smørgrav { 230*b7579f77SDag-Erling Smørgrav return strcmp((const char*)a, (const char*)b); 231*b7579f77SDag-Erling Smørgrav } 232*b7579f77SDag-Erling Smørgrav 233*b7579f77SDag-Erling Smørgrav int replay_var_compare(const void* ATTR_UNUSED(a), const void* ATTR_UNUSED(b)) 234*b7579f77SDag-Erling Smørgrav { 235*b7579f77SDag-Erling Smørgrav log_assert(0); 236*b7579f77SDag-Erling Smørgrav return 0; 237*b7579f77SDag-Erling Smørgrav } 238*b7579f77SDag-Erling Smørgrav 239*b7579f77SDag-Erling Smørgrav void remote_get_opt_ssl(char* ATTR_UNUSED(str), void* ATTR_UNUSED(arg)) 240*b7579f77SDag-Erling Smørgrav { 241*b7579f77SDag-Erling Smørgrav log_assert(0); 242*b7579f77SDag-Erling Smørgrav } 243