summaryrefslogtreecommitdiff
path: root/network.c
diff options
context:
space:
mode:
Diffstat (limited to 'network.c')
-rw-r--r--network.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/network.c b/network.c
index 9b9557e..6e334df 100644
--- a/network.c
+++ b/network.c
@@ -19,6 +19,15 @@ const char *addr_to_str(struct sockaddr *sa, socklen_t len) {
return str;
}
+struct sockaddr *get_sock_addr(int socket) {
+ struct sockaddr *sa;
+ socklen_t sock_len = sizeof(struct sockaddr);
+ getsockname(socket, NULL, &sock_len);
+ sa = calloc(1, sock_len);
+ getsockname(socket, sa, &sock_len);
+ return sa;
+}
+
int create_socket(struct sockaddr *sa, size_t sock_len) {
const int one = 1;
/* Create a new listen socket. */