Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
dbedd92c8be73253f3e881351b58ad1ae663ab60
[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 "Virtu/virtu_interface.h"
16 #include <msg.h> /* SimGrid header */
17
18 #define GRAS_MAX_CHANNEL 10
19
20 typedef struct {
21   int port;  /* list of ports used by a server socket */
22   int tochan; /* the channel it points to */
23   int raw;   /* (boolean) the channel is in raw mode or for messages */
24 } gras_sg_portrec_t;
25
26 /* Data for each host */
27 typedef struct {
28   int proc[GRAS_MAX_CHANNEL]; /* PID of who's connected to each channel */
29                               /* If =0, then free */
30
31   gras_dynar_t *ports;
32
33 } gras_hostdata_t;
34
35 /* data for each socket (FIXME: find a better location for that)*/
36 typedef struct {
37   int from_PID;    /* process which sent this message */
38   int to_PID;      /* process to which this message is destinated */
39
40   m_host_t to_host;   /* Who's on other side */
41   m_channel_t to_chan;/* Channel on which the other side is earing */
42 } gras_trp_sg_sock_data_t;
43
44
45 #endif /* VIRTU_SG_H */