From b0714e2b62a1b0b3b9d716a6431018dd56f1bae0 Mon Sep 17 00:00:00 2001 From: Razvan Deaconescu Date: Sat, 4 Jun 2011 19:03:21 +0300 Subject: [PATCH] raw: Add socket_manager.h. Wrapper for socket management functions. We are aming for two implementations: list-based and array-based. --- src/raw/include/socket_manager.h | 60 ++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/raw/include/socket_manager.h diff --git a/src/raw/include/socket_manager.h b/src/raw/include/socket_manager.h new file mode 100644 index 0000000..e412da4 --- /dev/null +++ b/src/raw/include/socket_manager.h @@ -0,0 +1,60 @@ +/* + * Socket management interface. + * + * 2011, Razvan Deaconescu, razvan.deaconescu@cs.pub.ro + */ + +#ifndef SOCKET_MANAGER_H_ +#define SOCKET_MANAGER_H_ 1 + +#include + +/* + * Add new socket to list. Called by sw_socket "syscall". + */ + +int sm_add(int s); + +/* + * Bind socket to given address. Called by sw_bind "syscall". + */ + +int sm_update_address(int s, const struct sockaddr *addr); + +/* + * Remove socket from list. Called by sw_close "syscall". + */ + +int sm_del(int s); + +/* + * Check if a socket is bound. + */ + +int sm_is_bound(int s); + +/* + * Mark socket as bound. + */ + +int sm_mark_bound(int s); + +/* + * Mark socket as unbound. + */ + +int sm_mark_unbound(int s); + +/* + * Check if adress is asociated with a given socket. + */ + +int sm_address_exists(const struct sockaddr *addr); + +/* + * Find socket address. + */ + +struct sockaddr *sm_get_address(int s); + +#endif -- 2.20.1