Lines Matching refs:fout

68 	f_print(fout, "\t\txdr_%s = (xdrproc_t) xdr_%s;\n",  in p_xdrfunc()
75 f_print(fout, "static "); in internal_proctype()
77 f_print(fout, "*"); in internal_proctype()
90 f_print(fout, "%s int _rpcpmstart;", var_type); in write_most()
91 f_print(fout, "\t\t/* Started by a port monitor ? */\n"); in write_most()
93 f_print(fout, "%s int _rpcfdtype;", var_type); in write_most()
94 f_print(fout, "\n\t\t /* Whether Stream or \ in write_most()
99 f_print(fout, " /* States a server can be in \ in write_most()
101 f_print(fout, "#define\t_IDLE 0\n"); in write_most()
102 f_print(fout, "#define\t_SERVED 1\n"); in write_most()
103 f_print(fout, "#define\t_SERVING 2\n\n"); in write_most()
104 f_print(fout, "static int _rpcsvcstate = _IDLE;"); in write_most()
105 f_print(fout, "\t /* Set when a request is \ in write_most()
109 f_print(fout, "pthread_mutex_t _svcstate_lock;"); in write_most()
110 f_print(fout, "\t\t\t/* Mutex lock for variable _rpcsvcstate */\n"); in write_most()
124 f_print(fout, "\nint\n"); in write_most()
125 f_print(fout, "main()\n"); in write_most()
126 f_print(fout, "{\n"); in write_most()
133 f_print(fout, in write_most()
135 f_print(fout, in write_most()
138 f_print(fout, "\tpid_t pid;\n"); in write_most()
139 f_print(fout, "\tint i;\n"); in write_most()
142 f_print(fout, "\tstruct sockaddr_storage saddr;\n"); in write_most()
143 f_print(fout, "\tsocklen_t asize = sizeof (saddr);\n\n"); in write_most()
145 f_print(fout, "\tchar mname[FMNAMESZ + 1];\n\n"); in write_most()
149 f_print(fout, "\tmutex_init(&_svcstate_lock, USYNC_THREAD, NULL);\n"); in write_most()
152 f_print(fout, "\telse {\n"); in write_most()
154 f_print(fout, "\t}\n"); in write_most()
159 f_print(fout, "\tregister SVCXPRT *%s;\n", TRANSP); in write_most()
160 f_print(fout, "\n"); in write_most()
183 f_print(fout, "\n"); in write_netid_register()
184 f_print(fout, "%s\tnconf = getnetconfigent(\"%s\");\n", sp, transp); in write_netid_register()
185 f_print(fout, "%s\tif (nconf == NULL) {\n", sp); in write_netid_register()
189 f_print(fout, "%s\t\texit(1);\n", sp); in write_netid_register()
190 f_print(fout, "%s\t}\n", sp); in write_netid_register()
192 f_print(fout, "%s\t%s = svc_tli_create(RPC_ANYFD, ", in write_netid_register()
194 f_print(fout,"nconf, 0, RPC_MAXDATASIZE, RPC_MAXDATASIZE);\n"); in write_netid_register()
196 f_print(fout, in write_netid_register()
200 f_print(fout, "%s\tif (%s == NULL) {\n", sp, TRANSP); in write_netid_register()
203 f_print(fout, "%s\t\texit(1);\n", sp); in write_netid_register()
204 f_print(fout, "%s\t}\n", sp); in write_netid_register()
212 f_print(fout, in write_netid_register()
215 f_print(fout, in write_netid_register()
219 f_print(fout, ", nconf)) {\n"); in write_netid_register()
224 f_print(fout, "%s\t\texit(1);\n", sp); in write_netid_register()
225 f_print(fout, "%s\t}\n", sp); in write_netid_register()
228 f_print(fout, "%s\tfreenetconfigent(nconf);\n", sp); in write_netid_register()
247 f_print(fout, "\tif (!svc_create("); in write_nettype_register()
249 f_print(fout, ", %s, %s, \"%s\")) {\n", in write_nettype_register()
255 f_print(fout, "\t\texit(1);\n"); in write_nettype_register()
256 f_print(fout, "\t}\n"); in write_nettype_register()
267 f_print(fout, "\n"); in write_rest()
269 f_print(fout, "\tif (%s == (SVCXPRT *)NULL) {\n", TRANSP); in write_rest()
272 f_print(fout, "\t\texit(1);\n"); in write_rest()
273 f_print(fout, "\t}\n"); in write_rest()
275 f_print(fout, "\tif (_rpcpmstart) {\n"); in write_rest()
276 f_print(fout, in write_rest()
278 f_print(fout, "\t\t(void) \ in write_rest()
280 f_print(fout, "\t}\n"); in write_rest()
283 f_print(fout, "\tsvc_run();\n"); in write_rest()
286 f_print(fout, "\texit(1);\n"); in write_rest()
287 f_print(fout, "\t/* NOTREACHED */\n"); in write_rest()
288 f_print(fout, "}\n"); in write_rest()
332 f_print(fout, "\n"); in write_real_program()
336 f_print(fout, "int"); in write_real_program()
337 f_print(fout, "\n_"); in write_real_program()
339 f_print(fout, "("); in write_real_program()
342 fputs(proc->args.argname, fout); in write_real_program()
347 f_print(fout, " *argp, void *%s, struct svc_req *%s)\n", in write_real_program()
353 f_print(fout, " *argp, struct svc_req *%s)\n", in write_real_program()
356 f_print(fout, "{\n"); in write_real_program()
357 f_print(fout, "\treturn ("); in write_real_program()
359 f_print(fout, "("); in write_real_program()
362 f_print(fout, "*argp, "); /* non-void */ in write_real_program()
366 f_print(fout, "argp->%s, ", in write_real_program()
370 f_print(fout, "%s, ",RESULT); in write_real_program()
371 f_print(fout, "%s));\n}\n", RQSTP); in write_real_program()
384 f_print(fout, "\n"); in write_program()
386 f_print(fout, "%s ", storage); in write_program()
388 f_print(fout, "void\n"); in write_program()
391 f_print(fout, "(struct svc_req *%s, ", RQSTP); in write_program()
392 f_print(fout, "SVCXPRT *%s)\n", TRANSP); in write_program()
393 f_print(fout, "{\n"); in write_program()
396 f_print(fout, "\tunion {\n"); in write_program()
404 f_print(fout, "\t\t"); in write_program()
408 f_print(fout, "_arg;\n"); in write_program()
412 f_print(fout, "\t\t%s", proc->args.argname); in write_program()
413 f_print(fout, " "); in write_program()
415 f_print(fout, "_arg;\n"); in write_program()
419 f_print(fout, "\t\tint fill;\n"); in write_program()
421 f_print(fout, "\t} %s;\n", ARG); in write_program()
424 f_print(fout, "\tunion {\n"); in write_program()
429 f_print(fout, "\t\t"); in write_program()
432 f_print(fout, "_res;\n"); in write_program()
434 f_print(fout, "\t} %s;\n", RESULT); in write_program()
435 f_print(fout, "\tbool_t %s;\n", RETVAL); in write_program()
438 f_print(fout, "\tchar *%s;\n", RESULT); in write_program()
440 f_print(fout, "\txdrproc_t xdr_%s, xdr_%s;\n", ARG, RESULT); in write_program()
442 f_print(fout, in write_program()
446 f_print(fout, in write_program()
449 f_print(fout, "\n"); in write_program()
453 f_print(fout, "\tpthread_mutex_lock(&_svcstate_lock);\n"); in write_program()
455 f_print(fout, "\t_rpcsvcstate = _SERVING;\n"); in write_program()
457 f_print(fout, "\tpthread_mutex_unlock(&_svcstate_lock);\n"); in write_program()
460 f_print(fout, "\tswitch (%s->rq_proc) {\n", RQSTP); in write_program()
462 f_print(fout, "\tcase NULLPROC:\n"); in write_program()
463 f_print(fout, in write_program()
468 f_print(fout, "\n"); in write_program()
471 f_print(fout, "\tcase %s:\n", proc->proc_name); in write_program()
480 f_print(fout, in write_program()
484 f_print(fout, in write_program()
488 f_print(fout, "_"); in write_program()
494 f_print(fout, ";\n"); in write_program()
495 f_print(fout, "\t\tbreak;\n\n"); in write_program()
497 f_print(fout, "\tdefault:\n"); in write_program()
500 f_print(fout, "\t}\n"); in write_program()
502 f_print(fout, in write_program()
508 f_print(fout, "\t}\n"); in write_program()
511 f_print(fout, "\t%s = (*%s)((char *)&%s, %s);\n", in write_program()
514 f_print(fout, "\t%s = (bool_t) (*%s)((char *)&%s, (void *)&%s, %s);\n", in write_program()
519 f_print(fout, in write_program()
523 f_print(fout, in write_program()
528 f_print(fout, "\t}\n"); in write_program()
533 f_print(fout, "\t\texit(1);\n"); in write_program()
534 f_print(fout, "\t}\n"); in write_program()
537 f_print(fout,"\tif (!"); in write_program()
539 f_print(fout,"_freeresult(%s, xdr_%s, (caddr_t) &%s))\n", in write_program()
543 f_print(fout, "\n"); in write_program()
546 f_print(fout, "}\n"); in write_program()
553 f_print(fout, "\t\tsvcerr_%s(%s);\n", err, transp); in printerr()
560 f_print(fout, "\tif (!svc_%s(%s, xdr_%s, (char *)%s%s)) {\n", in printif()
578 f_print(fout, "\tregister SVCXPRT *%s;\n", TRANSP); in write_inetmost()
579 f_print(fout, "\tint sock;\n"); in write_inetmost()
580 f_print(fout, "\tint proto;\n"); in write_inetmost()
581 f_print(fout, "\tstruct sockaddr_in saddr;\n"); in write_inetmost()
582 f_print(fout, "\tsocklen_t asize = sizeof (saddr);\n"); in write_inetmost()
583 f_print(fout, "\n"); in write_inetmost()
584 f_print(fout, in write_inetmost()
586 f_print(fout, "\t\tsocklen_t ssize = sizeof (int);\n\n"); in write_inetmost()
587 f_print(fout, "\t\tif (saddr.sin_family != AF_INET)\n"); in write_inetmost()
588 f_print(fout, "\t\t\texit(1);\n"); in write_inetmost()
589 f_print(fout, "\t\tif (getsockopt(0, SOL_SOCKET, SO_TYPE,\n"); in write_inetmost()
590 f_print(fout, "\t\t\t\t(char *)&_rpcfdtype, &ssize) == -1)\n"); in write_inetmost()
591 f_print(fout, "\t\t\texit(1);\n"); in write_inetmost()
592 f_print(fout, "\t\tsock = 0;\n"); in write_inetmost()
593 f_print(fout, "\t\t_rpcpmstart = 1;\n"); in write_inetmost()
594 f_print(fout, "\t\tproto = 0;\n"); in write_inetmost()
596 f_print(fout, "\t} else {\n"); in write_inetmost()
598 f_print(fout, "\t\tsock = RPC_ANYSOCK;\n"); in write_inetmost()
600 f_print(fout, "\t}\n"); in write_inetmost()
607 f_print(fout, "%sexit(0);\n", space); in print_return()
611 f_print(fout, "%spthread_mutex_lock(&_svcstate_lock);\n", space); in print_return()
612 f_print(fout, "%s_rpcsvcstate = _SERVED;\n", space); in print_return()
614 f_print(fout, "%spthread_mutex_unlock(&_svcstate_lock);\n", space); in print_return()
616 f_print(fout, "%sreturn;\n", space); in print_return()
632 f_print(fout, "%s(void) pmap_unset(%s, %s);\n", in print_pmapunset()
643 f_print(fout, "%ssyslog(LOG_ERR, \"%s\");\n", space, _errbuf); in print_err_message()
645 f_print(fout, "%s_msgout(\"%s\");\n", space, _errbuf); in print_err_message()
647 f_print(fout, "%sfprintf(stderr, \"%s\");\n", space, _errbuf); in print_err_message()
669 f_print(fout, "\n"); in write_msg_out()
674 f_print(fout, "static\n"); in write_msg_out()
675 f_print(fout, "void _msgout(const char* msg)\n"); in write_msg_out()
676 f_print(fout, "{\n"); in write_msg_out()
677 f_print(fout, "#ifdef RPC_SVC_FG\n"); in write_msg_out()
679 f_print(fout, "\tif (_rpcpmstart)\n"); in write_msg_out()
680 f_print(fout, "\t\tsyslog(LOG_ERR, \"%%s\", msg);\n"); in write_msg_out()
681 f_print(fout, "\telse\n"); in write_msg_out()
682 f_print(fout, in write_msg_out()
684 f_print(fout, "#else\n"); in write_msg_out()
685 f_print(fout, "\tsyslog(LOG_ERR, \"%%s\", msg);\n"); in write_msg_out()
686 f_print(fout, "#endif\n"); in write_msg_out()
687 f_print(fout, "}\n"); in write_msg_out()
699 f_print(fout, "\n"); in write_timeout_func()
700 f_print(fout, "static void\n"); in write_timeout_func()
701 f_print(fout, "closedown(int sig)\n"); in write_timeout_func()
702 f_print(fout, "{\n"); in write_timeout_func()
704 f_print(fout, "\tpthread_mutex_lock(&_svcstate_lock);\n"); in write_timeout_func()
705 f_print(fout, "\tif (_rpcsvcstate == _IDLE) {\n"); in write_timeout_func()
706 f_print(fout, "\t\textern fd_set svc_fdset;\n"); in write_timeout_func()
707 f_print(fout, "\t\tstatic int size;\n"); in write_timeout_func()
708 f_print(fout, "\t\tint i, openfd;\n"); in write_timeout_func()
710 f_print(fout, "\t\tstruct t_info tinfo;\n\n"); in write_timeout_func()
711 f_print(fout, in write_timeout_func()
714 f_print(fout, "\n\t\tif (_rpcfdtype == SOCK_DGRAM)\n"); in write_timeout_func()
716 f_print(fout, "\t\t\texit(0);\n"); in write_timeout_func()
717 f_print(fout, "\t\tif (size == 0) {\n"); in write_timeout_func()
719 f_print(fout, "\t\t\tstruct rlimit rl;\n\n"); in write_timeout_func()
720 f_print(fout, "\t\t\trl.rlim_max = 0;\n"); in write_timeout_func()
721 f_print(fout, "\t\t\tif (getrlimit(RLIMIT_NOFILE, &rl) == -1)\n"); in write_timeout_func()
722 f_print(fout, "\t\t\t\treturn;\n"); in write_timeout_func()
723 f_print(fout, "\t\t\tif ((size = rl.rlim_max) == 0) {\n"); in write_timeout_func()
726 f_print(fout, "\t\t\t\tpthread_mutex_unlock(&_svcstate_lock);\n"); in write_timeout_func()
728 f_print(fout, "\t\t\t\treturn;\n\t\t\t}\n"); in write_timeout_func()
730 f_print(fout, "\t\t\tsize = getdtablesize();\n"); in write_timeout_func()
732 f_print(fout, "\t\t}\n"); in write_timeout_func()
733 f_print(fout, in write_timeout_func()
735 f_print(fout, "\t\t\tif (FD_ISSET(i, &svc_fdset))\n"); in write_timeout_func()
736 f_print(fout, "\t\t\t\topenfd++;\n"); in write_timeout_func()
737 f_print(fout, "\t\tif (openfd <= 1)\n"); in write_timeout_func()
738 f_print(fout, "\t\t\texit(0);\n"); in write_timeout_func()
739 f_print(fout, "\t}\n"); in write_timeout_func()
740 f_print(fout, "\tif (_rpcsvcstate == _SERVED)\n"); in write_timeout_func()
741 f_print(fout, "\t\t_rpcsvcstate = _IDLE;\n\n"); in write_timeout_func()
743 f_print(fout, "\tpthread_mutex_unlock(&_svcstate_lock);\n"); in write_timeout_func()
745 f_print(fout, "\t(void) signal(SIGALRM, closedown);\n"); in write_timeout_func()
746 f_print(fout, "\t(void) alarm(_RPCSVC_CLOSEDOWN/2);\n"); in write_timeout_func()
747 f_print(fout, "}\n"); in write_timeout_func()
762 f_print(fout, in write_pm_most()
764 f_print(fout, "\t\tsocklen_t ssize = sizeof (int);\n"); in write_pm_most()
766 f_print(fout, "\tif (!ioctl(0, I_LOOK, mname) &&\n"); in write_pm_most()
767 f_print(fout, "\t\t(!strcmp(mname, \"sockmod\") ||"); in write_pm_most()
768 f_print(fout, " !strcmp(mname, \"timod\"))) {\n"); in write_pm_most()
770 f_print(fout, "\t\tchar *netid;\n"); in write_pm_most()
772 f_print(fout, "\t\tstruct netconfig *nconf = NULL;\n"); in write_pm_most()
773 f_print(fout, "\t\tSVCXPRT *%s;\n", TRANSP); in write_pm_most()
776 f_print(fout, "\t\tint pmclose;\n"); in write_pm_most()
781 f_print(fout, "\n"); in write_pm_most()
783 f_print(fout, "\t\tif (saddr.ss_family != AF_INET &&\n"); in write_pm_most()
784 f_print(fout, "\t\t saddr.ss_family != AF_INET6)\n"); in write_pm_most()
785 f_print(fout, "\t\t\texit(1);\n"); in write_pm_most()
786 f_print(fout, "\t\tif (getsockopt(0, SOL_SOCKET, SO_TYPE,\n"); in write_pm_most()
787 f_print(fout, "\t\t\t\t(char *)&_rpcfdtype, &ssize) == -1)\n"); in write_pm_most()
788 f_print(fout, "\t\t\texit(1);\n"); in write_pm_most()
790 f_print(fout, "\t\t_rpcpmstart = 1;\n"); in write_pm_most()
792 f_print(fout, "\n\t\tif ((netid = \ in write_pm_most()
796 f_print(fout, "\t\t/* started from inetd */\n"); in write_pm_most()
797 f_print(fout, "\t\t\tpmclose = 1;\n"); in write_pm_most()
799 f_print(fout, in write_pm_most()
801 f_print(fout, "\t\t\tif ((nconf = getnetconfigent(netid)) == NULL)\n"); in write_pm_most()
806 f_print(fout, "\n\t\t\tpmclose = 1;\t/* XXX */\n"); in write_pm_most()
808 f_print(fout, in write_pm_most()
811 f_print(fout, "\t\t}\n"); in write_pm_most()
817 f_print(fout, "\t\tif (strcmp(mname, \"sockmod\") == 0) {\n"); in write_pm_most()
818 f_print(fout, "\t\t\tif (ioctl(0, I_POP, 0) || "); in write_pm_most()
819 f_print(fout, "ioctl(0, I_PUSH, \"timod\")) {\n"); in write_pm_most()
822 f_print(fout, "\t\t\t\texit(1);\n"); in write_pm_most()
823 f_print(fout, "\t\t\t}\n"); in write_pm_most()
824 f_print(fout, "\t\t}\n"); in write_pm_most()
827 f_print(fout, in write_pm_most()
833 f_print(fout, in write_pm_most()
840 f_print(fout, "\t\t\texit(1);\n"); in write_pm_most()
841 f_print(fout, "\t\t}\n"); in write_pm_most()
842 f_print(fout, "\t\tif (nconf)\n"); in write_pm_most()
843 f_print(fout, "\t\t\tfreenetconfigent(nconf);\n"); in write_pm_most()
850 f_print(fout, in write_pm_most()
854 f_print(fout, ", 0)) {\n"); in write_pm_most()
858 f_print(fout, "\t\t\texit(1);\n"); in write_pm_most()
859 f_print(fout, "\t\t}\n"); in write_pm_most()
863 f_print(fout, "\t\tif (pmclose) {\n"); in write_pm_most()
864 f_print(fout, "\t\t\t(void) signal(SIGALRM, closedown);\n"); in write_pm_most()
865 f_print(fout, "\t\t\t(void) alarm(_RPCSVC_CLOSEDOWN/2);\n"); in write_pm_most()
866 f_print(fout, "\t\t}\n"); in write_pm_most()
868 f_print(fout, "\t\tsvc_run();\n"); in write_pm_most()
869 f_print(fout, "\t\texit(1);\n"); in write_pm_most()
870 f_print(fout, "\t\t/* NOTREACHED */\n"); in write_pm_most()
871 f_print(fout, "\t}"); in write_pm_most()
880 f_print(fout, "#ifndef RPC_SVC_FG\n"); in write_rpc_svc_fg()
881 f_print(fout, "%sint size;\n", sp); in write_rpc_svc_fg()
883 f_print(fout, "%sstruct rlimit rl;\n", sp); in write_rpc_svc_fg()
885 f_print(fout, "%sint pid, i;\n\n", sp); in write_rpc_svc_fg()
886 f_print(fout, "%spid = fork();\n", sp); in write_rpc_svc_fg()
887 f_print(fout, "%sif (pid < 0) {\n", sp); in write_rpc_svc_fg()
888 f_print(fout, "%s\tperror(\"cannot fork\");\n", sp); in write_rpc_svc_fg()
889 f_print(fout, "%s\texit(1);\n", sp); in write_rpc_svc_fg()
890 f_print(fout, "%s}\n", sp); in write_rpc_svc_fg()
891 f_print(fout, "%sif (pid)\n", sp); in write_rpc_svc_fg()
892 f_print(fout, "%s\texit(0);\n", sp); in write_rpc_svc_fg()
895 f_print(fout, "%srl.rlim_max = 0;\n", sp); in write_rpc_svc_fg()
896 f_print(fout, "%sif (getrlimit(RLIMIT_NOFILE, &rl) == -1) {\n", in write_rpc_svc_fg()
898 f_print(fout, "%s\tperror(\"getrlimit\");\n", sp); in write_rpc_svc_fg()
899 f_print(fout, "%s\texit(1);\n", sp); in write_rpc_svc_fg()
900 f_print(fout, "%s}\n", sp); in write_rpc_svc_fg()
901 f_print(fout, "%sif ((size = rl.rlim_max) == 0)\n", sp); in write_rpc_svc_fg()
902 f_print(fout, "%s\texit(1);\n", sp); in write_rpc_svc_fg()
904 f_print(fout, "%ssize = getdtablesize();\n", sp); in write_rpc_svc_fg()
907 f_print(fout, "%sfor (i = 0; i < size; i++)\n", sp); in write_rpc_svc_fg()
908 f_print(fout, "%s\t(void) close(i);\n", sp); in write_rpc_svc_fg()
910 f_print(fout, "%si = open(\"/dev/console\", 2);\n", sp); in write_rpc_svc_fg()
911 f_print(fout, "%s(void) dup2(i, 1);\n", sp); in write_rpc_svc_fg()
912 f_print(fout, "%s(void) dup2(i, 2);\n", sp); in write_rpc_svc_fg()
915 f_print(fout, "%ssetsid();\n", sp); in write_rpc_svc_fg()
917 f_print(fout, "%si = open(\"/dev/tty\", 2);\n", sp); in write_rpc_svc_fg()
918 f_print(fout, "%sif (i >= 0) {\n", sp); in write_rpc_svc_fg()
919 f_print(fout, in write_rpc_svc_fg()
921 f_print(fout, "%s\t(void) close(i);\n", sp); in write_rpc_svc_fg()
922 f_print(fout, "%s}\n", sp); in write_rpc_svc_fg()
926 f_print(fout, "#endif\n"); in write_rpc_svc_fg()
939 f_print(fout, "%sopenlog(\"%s\", LOG_PID, LOG_DAEMON);\n", sp, infile); in open_log_file()
968 f_print(fout, "\n"); in write_inetd_register()
970 f_print(fout, in write_inetd_register()
974 f_print(fout, "%s\t%s = svc%s_create(%s", in write_inetd_register()
977 f_print(fout, ", 0, 0"); in write_inetd_register()
978 f_print(fout, ");\n"); in write_inetd_register()
979 f_print(fout, "%s\tif (%s == NULL) {\n", sp, TRANSP); in write_inetd_register()
983 f_print(fout, "%s\t\texit(1);\n", sp); in write_inetd_register()
984 f_print(fout, "%s\t}\n", sp); in write_inetd_register()
987 f_print(fout, "%s\tif (!_rpcpmstart)\n\t", sp); in write_inetd_register()
988 f_print(fout, "%s\tproto = IPPROTO_%s;\n", in write_inetd_register()
997 f_print(fout, "%s\tif (!svc_register(%s, %s, %s, ", in write_inetd_register()
1001 f_print(fout, ", proto)) {\n"); in write_inetd_register()
1003 f_print(fout, ", IPPROTO_%s)) {\n", in write_inetd_register()
1009 f_print(fout, "%s\t\texit(1);\n", sp); in write_inetd_register()
1010 f_print(fout, "%s\t}\n", sp); in write_inetd_register()
1014 f_print(fout, "\t}\n"); in write_inetd_register()