-int gras_socket_my_port (gras_socket_t *sock);
-int gras_socket_peer_port(gras_socket_t *sock);
-char *gras_socket_peer_name(gras_socket_t *sock);
+int gras_socket_my_port (gras_socket_t sock);
+int gras_socket_peer_port(gras_socket_t sock);
+char *gras_socket_peer_name(gras_socket_t sock);
+
+/* extended interface to get all details */
+xbt_error_t gras_socket_client_ext(const char *host,
+ unsigned short port,
+ unsigned long int bufSize,
+ int raw,
+ /* OUT */ gras_socket_t *dst);
+xbt_error_t gras_socket_server_ext(unsigned short port,
+ unsigned long int bufSize,
+ int raw,
+ /* OUT */ gras_socket_t *dst);
+
+/* using raw sockets */
+xbt_error_t gras_socket_raw_send(gras_socket_t peer,
+ unsigned int timeout,
+ unsigned long int expSize,
+ unsigned long int msgSize);
+xbt_error_t gras_socket_raw_recv(gras_socket_t peer,
+ unsigned int timeout,
+ unsigned long int expSize,
+ unsigned long int msgSize);