3、>#include#include#include#include#include#include#include#defineNS_MAIN1#include#endif#ifdefDLZ#include#endifstatictybs_b
4、oolean_twant_stats=TYBS_FALSE;staticcharprogram_name[TYBS_DIR_NAMEMAX]="named";staticcharabsolute_conffile[TYBS_DIR_PATHMAX];staticcharsaved_command_line[512];staticcharversion[512];staticunsignedintmaxsocks=0;voidns_main_earlywarning(constchar*format,...){va_li
5、stargs;va_start(args,format);if(ns_g_lctx!=NULL){tybs_log_vwrite(ns_g_lctx,NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN,TYBS_LOG_WARNING,format,args);}else{fprintf(stderr,"%s:",program_name);vfprintf(stderr,format,args);fprintf(stderr,"");fflush(stderr);}va_end(ar
6、gs);}Voidns_main_earlyfatal(constchar*format,...){va_listargs;va_start(args,format);if(ns_g_lctx!=NULL){tybs_log_vwrite(ns_g_lctx,NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN,TYBS_LOG_CRITICAL,format,args);tybs_log_write(ns_g_lctx,NS_LOGCATEGORY_GENERAL,NS_LOGMODULE
7、_MAIN,TYBS_LOG_CRITICAL,"exiting(duetoearlyfatalerror)");}else{标准文案实用文档fprintf(stderr,"%s:",program_name);vfprintf(stderr,format,args);fprintf(stderr,"");fflush(stderr);}va_end(args);exit(1);}staticvoidassertion_failed(constchar*file,intline,tybs_assertiontype
8、_ttype,constchar*cond){if(ns_g_lctx!=NULL){tybs_assertion_setcallback(NULL);tybs_log_write(ns_g_lctx,NS_LOGCATEGORY_GENERAL,NS_LOGMODULE_MAIN,TYBS_LOG_CRITICAL,"%s:%d