projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make sure malloc() is declared.
[tinc]
/
src
/
subnet.h
diff --git
a/src/subnet.h
b/src/subnet.h
index
45e9cc1
..
30d13ca
100644
(file)
--- a/
src/subnet.h
+++ b/
src/subnet.h
@@
-1,7
+1,7
@@
/*
subnet.h -- header for subnet.c
/*
subnet.h -- header for subnet.c
- Copyright (C) 2000,2001 Guus Sliepen <guus@sliepen.
warande.net
>,
- 2000,2001 Ivo Timmermans <i
timmermans@bigfoot.com
>
+ Copyright (C) 2000,2001 Guus Sliepen <guus@sliepen.
eu.org
>,
+ 2000,2001 Ivo Timmermans <i
vo@o2w.nl
>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@
-17,7
+17,7
@@
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.
14 2001/11/16 12:10:54 zarq
Exp $
+ $Id: subnet.h,v 1.1.2.
20 2002/09/09 21:25:16 guus
Exp $
*/
#ifndef __TINC_SUBNET_H__
*/
#ifndef __TINC_SUBNET_H__
@@
-25,40
+25,43
@@
#include "net.h"
#include "net.h"
-enum
-{
-
SUBNET_MAC = 0
,
-
SUBNET_IP
,
-
SUBNET_TYPES
/* Guardian */
+enum
{
+ SUBNET_MAC = 0,
+
SUBNET_IPV4
,
+
SUBNET_IPV6
,
+
SUBNET_TYPES
/* Guardian */
};
};
-typedef struct subnet_mac_t
-{
-
mac_t address
;
+typedef struct subnet_mac_t
{
+ mac_t address;
+
time_t lastseen
;
} subnet_mac_t;
} subnet_mac_t;
-typedef struct subnet_ip_t
-{
- struct addrinfo *address;
- struct addrinfo *mask;
-} subnet_ip_t;
+typedef struct subnet_ipv4_t {
+ ipv4_t address;
+ int prefixlength;
+} subnet_ipv4_t;
+
+typedef struct subnet_ipv6_t {
+ ipv6_t address;
+ int prefixlength;
+} subnet_ipv6_t;
#include "node.h"
typedef struct subnet_t {
#include "node.h"
typedef struct subnet_t {
-
struct node_t *owner;
/* the owner of this subnet */
-
struct node_t *uplink;
/* the uplink which we should send packets to for this subnet */
+
struct node_t *owner;
/* the owner of this subnet */
+
struct node_t *uplink;
/* the uplink which we should send packets to for this subnet */
-
int type;
/* subnet type (IPv4? IPv6? MAC? something even weirder?) */
+
int type;
/* subnet type (IPv4? IPv6? MAC? something even weirder?) */
- /* And now for the actual subnet: */
+
/* And now for the actual subnet: */
- union net
- {
- subnet_mac_t mac;
- subnet_ip_t ip;
- } net;
-
+ union net {
+ subnet_mac_t mac;
+ subnet_ipv4_t ipv4;
+ subnet_ipv6_t ipv6;
+ } net;
} subnet_t;
extern subnet_t *new_subnet(void);
} subnet_t;
extern subnet_t *new_subnet(void);
@@
-73,7
+76,8
@@
extern char *net2str(subnet_t *);
extern subnet_t *str2net(char *);
extern subnet_t *lookup_subnet(struct node_t *, subnet_t *);
extern subnet_t *lookup_subnet_mac(mac_t *);
extern subnet_t *str2net(char *);
extern subnet_t *lookup_subnet(struct node_t *, subnet_t *);
extern subnet_t *lookup_subnet_mac(mac_t *);
-extern subnet_t *lookup_subnet_ip(struct addrinfo *);
+extern subnet_t *lookup_subnet_ipv4(ipv4_t *);
+extern subnet_t *lookup_subnet_ipv6(ipv6_t *);
extern void dump_subnets(void);
extern void dump_subnets(void);
-#endif /* __TINC_SUBNET_H__ */
+#endif
/* __TINC_SUBNET_H__ */