Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
More work on SG, almost done
[simgrid.git] / src / gras / Virtu / virtu_sg.h
1 /* $Id$ */
2
3 /* virtu_sg - specific GRAS implementation for simulator                    */
4
5 /* Authors: Martin Quinson                                                  */
6 /* Copyright (C) 2003,2004 da GRAS posse.                                   */
7
8 /* This program is free software; you can redistribute it and/or modify it
9    under the terms of the license (GNU LGPL) which comes with this package. */
10
11 #ifndef VIRTU_SG_H
12 #define VIRTU_SG_H
13
14 #include "gras_private.h"
15 #include <msg.h> /* SimGrid header */
16
17 #define GRAS_MAX_CHANNEL 10
18
19 typedef struct {
20   int port;  /* list of ports used by a server socket */
21   int tochan; /* the channel it points to */
22   int raw;   /* (boolean) the channel is in raw mode or for messages */
23 } gras_sg_portrec_t;
24
25 /* Data for each host */
26 typedef struct {
27   int proc[GRAS_MAX_CHANNEL]; /* PID of who's connected to each channel */
28                               /* If =0, then free */
29
30   gras_dynar_t *ports;
31
32 } gras_hostdata_t;
33
34 /* data for each socket (FIXME: find a better location for that)*/
35 typedef struct {
36   int from_PID;    /* process which sent this message */
37   int to_PID;      /* process to which this message is destinated */
38
39   m_host_t to_host;   /* Who's on other side */
40   m_channel_t to_chan;/* Channel on which the other side is earing */
41 } gras_trp_sg_sock_data_t;
42
43
44 #endif /* VIRTU_SG_H */