Annotation of embedaddon/strongswan/src/libcharon/plugins/dhcp/dhcp_socket.h, revision 1.1.1.1
1.1 misho 1: /*
2: * Copyright (C) 2010 Martin Willi
3: * Copyright (C) 2010 revosec AG
4: *
5: * This program is free software; you can redistribute it and/or modify it
6: * under the terms of the GNU General Public License as published by the
7: * Free Software Foundation; either version 2 of the License, or (at your
8: * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
9: *
10: * This program is distributed in the hope that it will be useful, but
11: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13: * for more details.
14: */
15:
16: /**
17: * @defgroup dhcp_socket dhcp_socket
18: * @{ @ingroup dhcp
19: */
20:
21: #ifndef DHCP_SOCKET_H_
22: #define DHCP_SOCKET_H_
23:
24: typedef struct dhcp_socket_t dhcp_socket_t;
25:
26: #include "dhcp_transaction.h"
27:
28: /**
29: * DHCP socket implementation
30: */
31: struct dhcp_socket_t {
32:
33: /**
34: * Enroll a client address using DHCP.
35: *
36: * @param identity peer identity to enroll an address for
37: * @return completed DHCP transaction, NULL on failure
38: */
39: dhcp_transaction_t* (*enroll)(dhcp_socket_t *this,
40: identification_t *identity);
41:
42: /**
43: * Release an enrolled DHCP address.
44: *
45: * @param transaction transaction returned by enroll
46: */
47: void (*release)(dhcp_socket_t *this, dhcp_transaction_t *transaction);
48:
49: /**
50: * Destroy a dhcp_socket_t.
51: */
52: void (*destroy)(dhcp_socket_t *this);
53: };
54:
55: /**
56: * Create a dhcp_socket instance.
57: */
58: dhcp_socket_t *dhcp_socket_create();
59:
60: #endif /** DHCP_SOCKET_H_ @}*/
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>