X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a7729514e277aabe9422a2626541f889ad1af08b..c25c5336b3cfe57ef33392a403efbdc7fbbcfc9e:/src/gras/Virtu/virtu_sg.h diff --git a/src/gras/Virtu/virtu_sg.h b/src/gras/Virtu/virtu_sg.h index 85303ca0ab..25f0854fce 100644 --- a/src/gras/Virtu/virtu_sg.h +++ b/src/gras/Virtu/virtu_sg.h @@ -2,30 +2,51 @@ /* virtu_sg - specific GRAS implementation for simulator */ -/* Authors: Martin Quinson */ -/* Copyright (C) 2003,2004 da GRAS posse. */ +/* Copyright (c) 2003, 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 VIRTU_SG_H #define VIRTU_SG_H -#include "gras_private.h" -#include /* SimGrid header */ +#include "gras/Virtu/virtu_private.h" +#include "xbt/dynar.h" +#include "msg/msg.h" /* SimGrid header */ -#define GRAS_MAX_CHANNEL 10 +typedef struct { + int port; /* list of ports used by a server socket */ + int tochan; /* the channel it points to */ + int meas; /* (boolean) the channel is for measurements or for messages */ +} gras_sg_portrec_t; /* Data for each host */ typedef struct { - int proc[GRAS_MAX_CHANNEL]; /* who's connected to each channel (its PID). If =0, then free */ + int refcount; + int proc[XBT_MAX_CHANNEL]; /* PID of who's connected to each channel */ + /* If =0, then free */ - int portLen; - int *port; /* list of ports used by a server socket */ - int *port2chan; /* the channel it points to */ - int *raw; /* (boolean) the channel is in raw mode or for formatted messages */ + xbt_dynar_t ports; } gras_hostdata_t; - +/* data for each socket (FIXME: find a better location for that)*/ +typedef struct { + int from_PID; /* process which sent this message */ + int to_PID; /* process to which this message is destinated */ + + m_host_t to_host; /* Who's on other side */ + m_channel_t to_chan;/* Channel on which the other side is earing */ +} gras_trp_sg_sock_data_t; + + +void *gras_libdata_by_name_from_remote(const char *name, m_process_t p); +/* The same function by id would be really dangerous. + * + * Indeed, it would rely on the fact that all process register libdatas in + * the same order, which is wrong if they init amok modules in different + * order. + */ + + #endif /* VIRTU_SG_H */