X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnetutl.h;h=a1ab660a78d7efb81c991db1611a531dc009ddda;hb=0289162552cd85375605044c696e2a3294e7aa9a;hp=4aa154258dbe567764022c1d04318f9bfc2bac1b;hpb=42d2dff33306beae8ddbd9cc991ad80f135950a6;p=tinc diff --git a/src/netutl.h b/src/netutl.h index 4aa15425..a1ab660a 100644 --- a/src/netutl.h +++ b/src/netutl.h @@ -25,15 +25,18 @@ extern bool hostnames; -extern struct addrinfo *str2addrinfo(const char *address, const char *service, int socktype) __attribute__((__malloc__)); +// Converts service name (as listed in /etc/services) to port number. Returns 0 on error. +extern uint16_t service_to_port(const char *service); +extern struct addrinfo *str2addrinfo(const char *address, const char *service, int socktype) ATTR_MALLOC; extern sockaddr_t str2sockaddr(const char *address, const char *port); extern void sockaddr2str(const sockaddr_t *sa, char **address, char **port); -extern char *sockaddr2hostname(const sockaddr_t *sa) __attribute__((__malloc__)); +extern char *sockaddr2hostname(const sockaddr_t *sa) ATTR_MALLOC; extern int sockaddrcmp(const sockaddr_t *a, const sockaddr_t *b); extern int sockaddrcmp_noport(const sockaddr_t *a, const sockaddr_t *b); extern void sockaddrunmap(sockaddr_t *sa); extern void sockaddrfree(sockaddr_t *sa); extern void sockaddrcpy(sockaddr_t *dest, const sockaddr_t *src); extern void sockaddr_setport(sockaddr_t *sa, const char *port); +extern uint16_t get_bound_port(int sockfd); #endif