aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/lib.h1
-rw-r--r--lib/net.c9
2 files changed, 10 insertions, 0 deletions
diff --git a/lib/lib.h b/lib/lib.h
index 578a99c9..546b32b3 100644
--- a/lib/lib.h
+++ b/lib/lib.h
@@ -310,6 +310,7 @@ int xbind(struct addrinfo *ai);
int xpoll(struct pollfd *fds, int nfds, int timeout);
int pollinate(int in1, int in2, int out1, int out2, int timeout, int shutdown_timeout);
char *ntop(struct sockaddr *sa);
+void xsendto(int sockfd, void *buf, size_t len, struct sockaddr *dest);
// password.c
int get_salt(char *salt, char * algo);
diff --git a/lib/net.c b/lib/net.c
index 136536fe..4467f1fd 100644
--- a/lib/net.c
+++ b/lib/net.c
@@ -126,3 +126,12 @@ char *ntop(struct sockaddr *sa)
return libbuf;
}
+
+void xsendto(int sockfd, void *buf, size_t len, struct sockaddr *dest)
+{
+ int rc = sendto(sockfd, buf, len, 0, dest,
+ dest->sa_family == AF_INET ? sizeof(struct sockaddr_in) :
+ sizeof(struct sockaddr_in6));
+
+ if (rc != len) perror_exit("sendto");
+}