Lines Matching refs:isns

53 #include "isns.h"
116 struct isns *is, *istmp;
738 struct isns *isns;
740 isns = calloc(1, sizeof(*isns));
741 if (isns == NULL)
743 isns->i_conf = conf;
744 TAILQ_INSERT_TAIL(&conf->conf_isns, isns, i_next);
745 isns->i_addr = checked_strdup(addr);
747 if (parse_addr_port(isns->i_addr, "3205", &isns->i_ai)) {
748 log_warnx("invalid iSNS address %s", isns->i_addr);
749 isns_delete(isns);
762 isns_delete(struct isns *isns)
765 TAILQ_REMOVE(&isns->i_conf->conf_isns, isns, i_next);
766 free(isns->i_addr);
767 if (isns->i_ai != NULL)
768 freeaddrinfo(isns->i_ai);
769 free(isns);
773 isns_do_connect(struct isns *isns)
777 s = socket(isns->i_ai->ai_family, isns->i_ai->ai_socktype,
778 isns->i_ai->ai_protocol);
780 log_warn("socket(2) failed for %s", isns->i_addr);
783 if (connect(s, isns->i_ai->ai_addr, isns->i_ai->ai_addrlen)) {
784 log_warn("connect(2) failed for %s", isns->i_addr);
792 isns_do_register(struct isns *isns, int s, const char *hostname)
794 struct conf *conf = isns->i_conf;
834 log_warn("send(2) failed for %s", isns->i_addr);
839 log_warn("receive(2) failed for %s", isns->i_addr);
844 log_warnx("iSNS register error %d for %s", error, isns->i_addr);
853 isns_do_check(struct isns *isns, int s, const char *hostname)
855 struct conf *conf = isns->i_conf;
867 log_warn("send(2) failed for %s", isns->i_addr);
872 log_warn("receive(2) failed for %s", isns->i_addr);
877 log_warnx("iSNS check error %d for %s", error, isns->i_addr);
886 isns_do_deregister(struct isns *isns, int s, const char *hostname)
888 struct conf *conf = isns->i_conf;
899 log_warn("send(2) failed for %s", isns->i_addr);
904 log_warn("receive(2) failed for %s", isns->i_addr);
909 log_warnx("iSNS deregister error %d for %s", error, isns->i_addr);
918 isns_register(struct isns *isns, struct isns *oldisns)
920 struct conf *conf = isns->i_conf;
928 s = isns_do_connect(isns);
936 oldisns = isns;
938 isns_do_register(isns, s, hostname);
944 isns_check(struct isns *isns)
946 struct conf *conf = isns->i_conf;
954 s = isns_do_connect(isns);
961 res = isns_do_check(isns, s, hostname);
963 isns_do_deregister(isns, s, hostname);
964 isns_do_register(isns, s, hostname);
971 isns_deregister(struct isns *isns)
973 struct conf *conf = isns->i_conf;
981 s = isns_do_connect(isns);
986 isns_do_deregister(isns, s, hostname);
1779 struct isns *oldns, *newns;
2462 struct isns *newns;