X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/84a0b9d1947db0f61f3a82fb6df02add111fd62f..4eed03f7bb0f25191cc58578087de20d06f8b5d9:/src/gras/Transport/transport_private.h diff --git a/src/gras/Transport/transport_private.h b/src/gras/Transport/transport_private.h index f94b58b238..80be800c82 100644 --- a/src/gras/Transport/transport_private.h +++ b/src/gras/Transport/transport_private.h @@ -16,9 +16,6 @@ #include "gras_private.h" #include "Transport/transport_interface.h" -extern gras_dynar_t *_gras_trp_sockets; /* all existing sockets */ - - /** * s_gras_socket: * @@ -27,25 +24,28 @@ extern gras_dynar_t *_gras_trp_sockets; /* all existing sockets */ struct s_gras_socket { 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 incoming; /* true if incoming (server) sock, false if client sock */ - int accepting; /* true if master incoming sock in tcp */ - - int sd; + 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 */