projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- Simplified do_detach
[tinc]
/
src
/
subnet.h
diff --git
a/src/subnet.h
b/src/subnet.h
index
b31226c
..
994c541
100644
(file)
--- a/
src/subnet.h
+++ b/
src/subnet.h
@@
-17,20
+17,20
@@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id: subnet.h,v 1.1.2.
2 2000/10/11 10:35:17
guus Exp $
+ $Id: subnet.h,v 1.1.2.
5 2000/10/28 21:05:20
guus Exp $
*/
#ifndef __TINC_SUBNET_H__
#define __TINC_SUBNET_H__
#include "net.h"
*/
#ifndef __TINC_SUBNET_H__
#define __TINC_SUBNET_H__
#include "net.h"
-#include "connlist.h"
enum
{
SUBNET_MAC = 0,
SUBNET_IPV4,
SUBNET_IPV6,
enum
{
SUBNET_MAC = 0,
SUBNET_IPV4,
SUBNET_IPV6,
+ SUBNET_TYPES /* Guardian */
};
typedef struct subnet_mac_t
};
typedef struct subnet_mac_t
@@
-57,11
+57,14
@@
typedef struct subnet_t {
struct subnet_t *prev; /* previous subnet_t for this owner */
struct subnet_t *next; /* next subnet_t for this owner */
struct subnet_t *prev; /* previous subnet_t for this owner */
struct subnet_t *next; /* next subnet_t for this owner */
+ struct subnet_t *global_prev; /* previous subnet_t for this subnet type */
+ struct subnet_t *global_next; /* next subnet_t for this subnet type */
+
int type; /* subnet type (IPv4? IPv6? MAC? something even weirder?) */
/* And now for the actual subnet: */
int type; /* subnet type (IPv4? IPv6? MAC? something even weirder?) */
/* And now for the actual subnet: */
- union
+ union
net
{
subnet_mac_t mac;
subnet_ipv4_t ipv4;
{
subnet_mac_t mac;
subnet_ipv4_t ipv4;
@@
-70,15
+73,17
@@
typedef struct subnet_t {
} subnet_t;
} subnet_t;
+#include "connlist.h"
+
extern subnet_t *new_subnet(void);
extern void free_subnet(subnet_t *);
extern subnet_t *new_subnet(void);
extern void free_subnet(subnet_t *);
-extern void subnet_add(conn_list_t *, subnet_t *);
+extern void subnet_add(
struct
conn_list_t *, subnet_t *);
extern void subnet_del(subnet_t *);
extern char *net2str(subnet_t *);
extern subnet_t *str2net(char *);
extern void subnet_del(subnet_t *);
extern char *net2str(subnet_t *);
extern subnet_t *str2net(char *);
-extern subnet_t *lookup_subnet_mac(
subnet_t *,
mac_t);
-extern subnet_t *lookup_subnet_ipv4(
subnet_t *,
ipv4_t);
-extern subnet_t *lookup_subnet_ipv6(
subnet_t *,
ipv6_t);
-
+extern subnet_t *lookup_subnet_mac(mac_t);
+extern subnet_t *lookup_subnet_ipv4(ipv4_t);
+extern subnet_t *lookup_subnet_ipv6(ipv6_t);
+extern void dump_subnet_list(void);
#endif /* __TINC_SUBNET_H__ */
#endif /* __TINC_SUBNET_H__ */