diff options
Diffstat (limited to 'lib/sockunion.h')
-rw-r--r-- | lib/sockunion.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/sockunion.h b/lib/sockunion.h index ea76a955..d1f29b13 100644 --- a/lib/sockunion.h +++ b/lib/sockunion.h @@ -26,6 +26,7 @@ #include "zebra.h" #include "symtab.h" #include "prefix.h" +#include "memory.h" #if 0 union sockunion { @@ -99,12 +100,13 @@ CONFIRM(SU_ADDRSTRLEN >= INET6_ADDRSTRLEN) ; #define sockunion_family(X) (X)->sa.sa_family /* Prototypes. */ +extern sockunion sockunion_init_new(sockunion su, sa_family_t family) ; extern int str2sockunion (const char *, union sockunion *); extern const char *sockunion2str (union sockunion *, char *, size_t); extern int sockunion_cmp (union sockunion *, union sockunion *); extern int sockunion_same (union sockunion *, union sockunion *); -extern char *sockunion_su2str (union sockunion *su); +extern char* sockunion_su2str (union sockunion* su, enum MTYPE type) ; extern union sockunion *sockunion_str2su (const char *str); extern struct in_addr sockunion_get_in_addr (union sockunion *su); extern int sockunion_accept (int sock, union sockunion *); @@ -112,18 +114,19 @@ extern int sockunion_stream_socket (union sockunion *); extern int sockopt_reuseaddr (int); extern int sockopt_reuseport (int); extern int sockunion_bind (int sock, union sockunion *, - unsigned short, union sockunion *); + unsigned short, void* any); extern int sockopt_ttl (int family, int sock, int ttl); -extern int sockunion_socket (union sockunion *su); -extern const char *inet_sutop (union sockunion *su, char *str); +extern int sockunion_socket (sa_family_t family, int type, int protocol) ; extern int sockunion_connect (int fd, union sockunion *su, unsigned short port, unsigned int) ; +extern int sockunion_listen(int fd, int backlog) ; extern int sockunion_getsockname (int, union sockunion*); extern int sockunion_getpeername (int, union sockunion*); extern union sockunion *sockunion_dup (union sockunion *); extern void sockunion_free (union sockunion *); -extern sockunion sockunion_new(prefix p) ; +extern sockunion sockunion_new_prefix(sockunion su, prefix p) ; +extern sockunion sockunion_new_sockaddr(sockunion su, struct sockaddr* sa) ; extern void sockunion_unset(sockunion* p_su) ; extern void sockunion_set(sockunion* p_dst, sockunion su) ; extern void sockunion_set_dup(sockunion* p_dst, sockunion su) ; |