X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/31d626536ff0cdfa875075e092bf8c86a5e43710..0154333fd446f6e40144fcd5b302616b8c1f73c0:/src/gras/Transport/transport_private.h diff --git a/src/gras/Transport/transport_private.h b/src/gras/Transport/transport_private.h index 56e2f165af..d6eded44f6 100644 --- a/src/gras/Transport/transport_private.h +++ b/src/gras/Transport/transport_private.h @@ -18,7 +18,6 @@ extern gras_dynar_t *_gras_trp_sockets; /* all existing sockets */ - /** * s_gras_socket: * @@ -26,26 +25,29 @@ extern gras_dynar_t *_gras_trp_sockets; /* all existing sockets */ */ struct s_gras_socket { - gras_trp_plugin_t *plugin; - - int incoming; /* true if incoming (server) sock, false if client sock */ - int accepting; /* true if master incoming sock in tcp */ + gras_trp_plugin_t *plugin; + + int incoming :1; /* true if we can read from this sock */ + int outgoing :1; /* true if we can write on this sock */ + int accepting :1; /* true if master incoming sock in tcp */ + int raw :1; /* true if this is an experiment socket instead of messaging */ - int sd; - int port; /* port on this side */ - int peer_port; /* port on the other side */ - char *peer_name; /* hostname of the other side */ + int sd; + int port; /* port on this side */ + int peer_port; /* port on the other side */ + char *peer_name; /* hostname of the other side */ - void *specific; /* plugin specific data */ + void *data; /* plugin specific data */ }; +gras_error_t gras_trp_socket_new(int incomming, + gras_socket_t **dst); -/* TCP driver */ -gras_error_t gras_trp_tcp_init(gras_trp_plugin_t **dst); - -/* SG driver */ -gras_error_t gras_trp_sg_init (gras_trp_plugin_t **dst); - +/* The drivers */ +typedef gras_error_t (*gras_trp_setup_t)(gras_trp_plugin_t *dst); +gras_error_t gras_trp_tcp_setup(gras_trp_plugin_t *plug); +gras_error_t gras_trp_file_setup(gras_trp_plugin_t *plug); +gras_error_t gras_trp_sg_setup(gras_trp_plugin_t *plug); #endif /* GRAS_TRP_PRIVATE_H */