X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fsubnet.h;h=eb55849567eebef5da28179351f6aea54fea0577;hb=914d1be411229c28e6e8e4a0df99afa076a8b448;hp=942853e9f928706cbbe327b4ad1da3d06d0a713c;hpb=b7792fa9d0d742f05175ff9c01d651ad76d525cc;p=tinc diff --git a/src/subnet.h b/src/subnet.h index 942853e9..eb558495 100644 --- a/src/subnet.h +++ b/src/subnet.h @@ -3,7 +3,7 @@ /* subnet.h -- header for subnet.c - Copyright (C) 2000-2012 Guus Sliepen , + Copyright (C) 2000-2021 Guus Sliepen , 2000-2005 Ivo Timmermans This program is free software; you can redistribute it and/or modify @@ -63,26 +63,25 @@ typedef struct subnet_t { #define MAXNETSTR 64 -extern splay_tree_t *subnet_tree; +extern splay_tree_t subnet_tree; extern int subnet_compare(const struct subnet_t *a, const struct subnet_t *b); extern subnet_t *new_subnet(void) __attribute__((__malloc__)); extern void free_subnet(subnet_t *subnet); extern void init_subnets(void); extern void exit_subnets(void); -extern splay_tree_t *new_subnet_tree(void) __attribute__((__malloc__)); -extern void free_subnet_tree(splay_tree_t *); +extern void init_subnet_tree(splay_tree_t *tree); extern void subnet_add(struct node_t *owner, subnet_t *subnet); extern void subnet_del(struct node_t *owner, subnet_t *subnet); extern void subnet_update(struct node_t *owner, subnet_t *subnet, bool up); -extern int maskcmp(const void *a, const void *b, int masklen); -extern void maskcpy(void *dest, const void *src, int masklen, int len); -extern void mask(void *mask, int masklen, int len); +extern int maskcmp(const void *a, const void *b, size_t masklen); +extern void maskcpy(void *dest, const void *src, size_t masklen, size_t len); +extern void mask(void *mask, size_t masklen, size_t len); extern bool subnetcheck(const subnet_t subnet); -extern bool maskcheck(const void *mask, int masklen, int len); -extern bool net2str(char *netstr, int len, const subnet_t *subnet); +extern bool maskcheck(const void *mask, size_t masklen, size_t len); +extern bool net2str(char *netstr, size_t len, const subnet_t *subnet); extern bool str2net(subnet_t *subnet, const char *netstr); -extern subnet_t *lookup_subnet(const struct node_t *owner, const subnet_t *subnet); +extern subnet_t *lookup_subnet(struct node_t *owner, const subnet_t *subnet); extern subnet_t *lookup_subnet_mac(const struct node_t *owner, const mac_t *address); extern subnet_t *lookup_subnet_ipv4(const ipv4_t *address); extern subnet_t *lookup_subnet_ipv6(const ipv6_t *address);