raw: Add socket_manager.h.
[swifty.git] / src / raw / include / socket_manager.h
1 /*
2  * Socket management interface.
3  *
4  * 2011, Razvan Deaconescu, razvan.deaconescu@cs.pub.ro
5  */
6
7 #ifndef SOCKET_MANAGER_H_
8 #define SOCKET_MANAGER_H_       1
9
10 #include <netinet/in.h>
11
12 /*
13  * Add new socket to list. Called by sw_socket "syscall".
14  */
15
16 int sm_add(int s);
17
18 /*
19  * Bind socket to given address. Called by sw_bind "syscall".
20  */
21
22 int sm_update_address(int s, const struct sockaddr *addr);
23
24 /*
25  * Remove socket from list. Called by sw_close "syscall".
26  */
27
28 int sm_del(int s);
29
30 /*
31  * Check if a socket is bound.
32  */
33
34 int sm_is_bound(int s);
35
36 /*
37  * Mark socket as bound.
38  */
39
40 int sm_mark_bound(int s);
41
42 /*
43  * Mark socket as unbound.
44  */
45
46 int sm_mark_unbound(int s);
47
48 /*
49  * Check if adress is asociated with a given socket.
50  */
51
52 int sm_address_exists(const struct sockaddr *addr);
53
54 /*
55  * Find socket address.
56  */
57
58 struct sockaddr *sm_get_address(int s);
59
60 #endif