/[pkg-openswan]/trunk/programs/pluto/server.h
ViewVC logotype

Contents of /trunk/programs/pluto/server.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 150 - (hide annotations) (download)
Wed Oct 29 10:58:05 2008 UTC (4 years, 6 months ago) by rmayr
File MIME type: text/plain
File size: 2827 byte(s)
- Updated to new upstream release.
1 rmayr 2 /* get-next-event loop
2     * Copyright (C) 1998-2001 D. Hugh Redelmeier.
3     *
4     * This program is free software; you can redistribute it and/or modify it
5     * under the terms of the GNU General Public License as published by the
6     * Free Software Foundation; either version 2 of the License, or (at your
7     * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
8     *
9     * This program is distributed in the hope that it will be useful, but
10     * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11     * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12     * for more details.
13     *
14 rmayr 150 * RCSID $Id: server.h,v 1.32 2005/09/19 00:40:48 mcr Exp $
15 rmayr 2 */
16    
17     #ifndef _SERVER_H
18     #define _SERVER_H
19    
20 rmayr 150 #include <sysqueue.h>
21 rmayr 68
22 rmayr 2 extern bool no_retransmits;
23 rmayr 150 extern bool log_to_stderr_desired;
24    
25 rmayr 2 extern int ctl_fd; /* file descriptor of control (whack) socket */
26     extern struct sockaddr_un ctl_addr; /* address of control (whack) socket */
27    
28     extern int info_fd; /* file descriptor of control (info) socket */
29     extern struct sockaddr_un info_addr; /* address of control (info) socket */
30    
31     extern err_t init_ctl_socket(void);
32     extern void delete_ctl_socket(void);
33    
34     extern bool listening; /* should we pay attention to IKE messages? */
35    
36    
37     /* interface: a terminal point for IKE traffic, IPsec transport mode
38     * and IPsec tunnels.
39     * Essentially:
40     * - an IP device (eg. eth1), and
41     * - its partner, an ipsec device (eg. ipsec0), and
42     * - their shared IP address (eg. 10.7.3.2)
43     * Note: the port for IKE is always implicitly UDP/pluto_port.
44 rmayr 68 *
45     * The iface is a unique IP address on a system. It may be used
46     * by multiple port numbers. In general, two conns have the same
47     * interface if they have the same iface_port->iface_alias.
48 rmayr 2 */
49 rmayr 68 struct iface_dev {
50     LIST_ENTRY(iface_dev) id_entry;
51     int id_count;
52     char *id_vname; /* virtual (ipsec) device name */
53     char *id_rname; /* real device name */
54     };
55    
56     struct iface_port {
57     struct iface_dev *ip_dev;
58     u_int16_t port; /* host byte order */
59     ip_address ip_addr; /* interface IP address */
60     int fd; /* file descriptor of socket for IKE UDP messages */
61     struct iface_port *next;
62 rmayr 2 bool ike_float;
63     enum { IFN_ADD, IFN_KEEP, IFN_DELETE } change;
64     };
65 rmayr 68
66     extern struct iface_port *interfaces; /* public interfaces */
67 rmayr 2
68     extern bool use_interface(const char *rifn);
69     extern void find_ifaces(void);
70     extern void show_ifaces_status(void);
71     extern void free_ifaces(void);
72     extern void show_debug_status(void);
73     extern void call_server(void);
74    
75     /* in rcv_info.c */
76     extern err_t init_info_socket(void);
77     extern void delete_info_socket(void);
78    
79 rmayr 17 extern bool pluto_crypt_handle_dead_child(int pid, int status);
80     extern bool adns_reapchild(pid_t pid, int status);
81    
82 rmayr 37 extern const char *init_pluto_vendorid(void);
83 rmayr 17
84 rmayr 37
85 rmayr 2 #endif /* _SERVER_H */

  ViewVC Help
Powered by ViewVC 1.1.5