typedef struct peer_iter { sym_iter i; } peer_iter;
+typedef struct udpsocket {
+ sel_file sf; /* Selector for the socket */
+ unsigned port; /* Chosen port number */
+} udpsocket;
+
typedef struct ping {
struct ping *next, *prev; /* Links to next and previous */
peer *p; /* Peer so we can free it */
extern octet buf_i[PKBUFSZ], buf_o[PKBUFSZ], buf_t[PKBUFSZ], buf_u[PKBUFSZ];
extern const tunnel_ops *tunnels[]; /* Table of tunnels (0-term) */
extern const tunnel_ops *tun_default; /* Default tunnel to use */
-extern sel_file udpsock[NADDRFAM]; /* The master UDP sockets */
+extern udpsocket udpsock[NADDRFAM]; /* The master UDP sockets */
extern kdata *master; /* Default private key */
extern const char *tag_priv; /* Default private key tag */
extern void p_init(struct addrinfo */*ailist*/);
-/* --- @p_port@ --- *
- *
- * Arguments: @int i@ = address family index to retrieve
- *
- * Returns: Port number used for socket.
- */
-
-extern unsigned p_port(int /*i*/);
-
/* --- @p_create@ --- *
*
* Arguments: @peerspec *spec@ = information about this peer