Lines Matching defs:ypdb

87 #define READFD ypdb->dom_pipe_fds[0]
88 #define WRITEFD ypdb->dom_pipe_fds[1]
167 struct _dom_binding *ypdb;
180 for (ypdb = ypbindlist; ypdb; ypdb = ypdb->dom_pnext) {
181 if (strcmp(ypdb->dom_domain, *argp) == 0)
185 if (ypdb == NULL) {
202 ypdb = malloc(sizeof *ypdb);
203 if (ypdb == NULL) {
208 bzero(ypdb, sizeof *ypdb);
209 strlcpy(ypdb->dom_domain, *argp, sizeof ypdb->dom_domain);
210 ypdb->dom_vers = YPVERS;
211 ypdb->dom_alive = 0;
212 ypdb->dom_default = 0;
213 ypdb->dom_lockfd = -1;
215 ypdb->dom_domain, ypdb->dom_vers);
217 ypdb->dom_pnext = ypbindlist;
218 ypbindlist = ypdb;
222 if (ping(ypdb)) {
229 &ypdb->dom_server_addr.sin_addr.s_addr, sizeof(u_int32_t));
231 &ypdb->dom_server_addr.sin_port, sizeof(u_short));
232 /*printf("domain %s at %s/%d\n", ypdb->dom_domain,
233 inet_ntoa(ypdb->dom_server_addr.sin_addr),
234 ntohs(ypdb->dom_server_addr.sin_port));*/
365 struct _dom_binding *ypdb;
371 for (ypdb = ypbindlist; ypdb; ypdb = ypdb->dom_pnext) {
372 close(ypdb->dom_lockfd);
373 if (ypdb->dom_broadcast_pid)
374 kill(ypdb->dom_broadcast_pid, SIGINT);
376 ypdb->dom_domain, ypdb->dom_vers);
392 struct _dom_binding *ypdb, *next;
499 for (ypdb = ypbindlist; ypdb; ypdb = next) {
500 next = ypdb->dom_pnext;
502 handle_children(ypdb);
519 struct _dom_binding *ypdb;
521 for (ypdb = ypbindlist; ypdb; ypdb = ypdb->dom_pnext)
522 ping(ypdb);
538 handle_children(struct _dom_binding *ypdb)
560 if (y == ypdb)
564 switch (ypdb->dom_default) {
571 ypdb->dom_domain, YPVERS);
572 close(ypdb->dom_lockfd);
574 free(ypdb);
578 ypdb->dom_broadcast_pid = 0;
579 ypdb->dom_alive = 0;
580 broadcast(ypdb);
659 broadcast(struct _dom_binding *ypdb)
664 if (children >= MAX_CHILDREN || ypdb->dom_broadcast_pid)
667 if (pipe(ypdb->dom_pipe_fds) < 0) {
672 if (ypdb->dom_vers == -1 && (long)ypdb->dom_server_addr.sin_addr.s_addr) {
676 inet_ntoa(ypdb->dom_server_addr.sin_addr), ypdb->dom_domain);
680 broad_domain = ypdb;
681 flock(ypdb->dom_lockfd, LOCK_UN);
683 switch ((ypdb->dom_broadcast_pid = fork())) {
722 ypdb->dom_domain, &port);
724 bzero(&ypdb->dom_server_addr,
726 if (tell_parent(ypdb->dom_domain,
727 &ypdb->dom_server_addr))
747 ptr = ypdb->dom_domain;
755 bzero(&ypdb->dom_server_addr,
757 if (tell_parent(ypdb->dom_domain, &ypdb->dom_server_addr))
777 ping(struct _dom_binding *ypdb)
790 if (ypdb->dom_broadcast_pid)
793 if ((client_handle = clntudp_bufcreate(&ypdb->dom_server_addr,
797 ypdb->dom_alive = 0;
798 ypdb->dom_vers = -1;
799 broadcast(ypdb);
806 ptr = ypdb->dom_domain;
812 ypdb->dom_alive = 0;
813 ypdb->dom_vers = -1;
815 broadcast(ypdb);
827 struct _dom_binding *ypdb, *prev = NULL;
839 for (ypdb = ypbindlist; ypdb; ypdb = ypdb->dom_pnext) {
840 if (strcmp(ypdb->dom_domain, dom) == 0)
842 prev = ypdb;
845 if (ypdb && force) {
846 if (ypdb->dom_broadcast_pid) {
847 kill(ypdb->dom_broadcast_pid, SIGINT);
860 if (ypdb != NULL) {
861 ypdb->dom_broadcast_pid = 0;
862 ypdb->dom_alive = 0;
868 switch (ypdb->dom_default) {
871 ypbindlist = ypdb->dom_pnext;
873 prev->dom_pnext = ypdb->dom_pnext;
875 ypdb->dom_domain, YPVERS);
876 close(ypdb->dom_lockfd);
878 free(ypdb);
882 ypdb->dom_broadcast_pid = 0;
883 ypdb->dom_alive = 0;
884 broadcast(ypdb);
891 if (ypdb == NULL) {
898 ypdb = malloc(sizeof *ypdb);
899 if (ypdb == NULL) {
903 bzero(ypdb, sizeof *ypdb);
904 strlcpy(ypdb->dom_domain, dom, sizeof ypdb->dom_domain);
905 ypdb->dom_lockfd = -1;
906 ypdb->dom_default = 0;
907 ypdb->dom_pnext = ypbindlist;
908 ypbindlist = ypdb;
912 if (ypdb->dom_vers == -1 && ypdb->dom_server_addr.sin_addr.s_addr) {
916 inet_ntoa(raddrp->sin_addr), ypdb->dom_domain);
920 bcopy(raddrp, &ypdb->dom_server_addr,
921 sizeof ypdb->dom_server_addr);
923 ypdb->dom_vers = YPVERS;
924 ypdb->dom_alive = 1;
925 ypdb->dom_broadcast_pid = 0;
927 if (ypdb->dom_lockfd != -1)
928 close(ypdb->dom_lockfd);
931 ypdb->dom_domain, ypdb->dom_vers);
951 ypdb->dom_lockfd = fd;
965 if (writev(ypdb->dom_lockfd, iov, 2) != iov[0].iov_len + iov[1].iov_len) {
967 close(ypdb->dom_lockfd);
968 ypdb->dom_lockfd = -1;