/* module's public interface exported within GRAS, but not to end user. */
-/* Authors: Martin Quinson */
-/* Copyright (C) 2004 Martin Quinson. */
+/* Copyright (c) 2004 Martin Quinson. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
- under the terms of the license (GNU LGPL) which comes with this package. */
+ * under the terms of the license (GNU LGPL) which comes with this package. */
#ifndef GRAS_TRP_INTERFACE_H
#define GRAS_TRP_INTERFACE_H
/***
- *** Plugin mecanism
+ *** Plugin mechanism
***/
/* A plugin type */
void (*socket_close)(gras_socket_t sd);
xbt_error_t (*chunk_send)(gras_socket_t sd,
- const char *data,
- long int size);
+ const char *data,
+ unsigned long int size);
xbt_error_t (*chunk_recv)(gras_socket_t sd,
- char *data,
- long int size);
+ char *data,
+ unsigned long int size);
/* flush has to make sure that the pending communications are achieved */
xbt_error_t (*flush)(gras_socket_t sd);
gras_trp_plugin_get_by_name(const char *name,
gras_trp_plugin_t **dst);
+/* Data of this module specific to each process
+ * (used by sg_process.c to cleanup the SG channel cruft)
+ */
+typedef struct {
+ /* SG only elements. In RL, they are part of the OS ;) */
+ int chan; /* Formated messages channel */
+ int measChan; /* Unformated echange channel for performance measurement*/
+ xbt_dynar_t sockets; /* all sockets known to this process */
+
+} s_gras_trp_procdata_t,*gras_trp_procdata_t;
+
#endif /* GRAS_TRP_INTERFACE_H */