Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Relic of the star removal.
[simgrid.git] / src / surf / network_private.h
1 /*      $Id$     */
2
3 /* Copyright (c) 2004 Arnaud Legrand. All rights reserved.                  */
4
5 /* This program is free software; you can redistribute it and/or modify it
6  * under the terms of the license (GNU LGPL) which comes with this package. */
7
8 #ifndef _SURF_NETWORK_PRIVATE_H
9 #define _SURF_NETWORK_PRIVATE_H
10
11 #include "surf_private.h"
12
13 typedef enum {
14   SURF_NETWORK_LINK_ON = 1,             /* Ready        */
15   SURF_NETWORK_LINK_OFF = 0             /* Running      */
16 } e_surf_network_link_state_t;
17
18 typedef struct network_link {
19   surf_resource_t resource;   /* Any such object, added in a trace
20                                  should start by this field!!! */
21                               /* Using this object with the public part of
22                                  resource does not make sense */
23   const char *name;
24   xbt_maxmin_float_t bw_current;
25   tmgr_trace_event_t bw_event;
26   xbt_maxmin_float_t lat_current;
27   tmgr_trace_event_t lat_event;
28   e_surf_network_link_state_t state_current;
29   tmgr_trace_event_t state_event;
30   lmm_constraint_t constraint;
31 } s_network_link_t, *network_link_t;
32
33
34 typedef struct network_card {
35   const char *name;
36   int id;
37 } s_network_card_t, *network_card_t;
38
39 typedef struct surf_action_network {
40   s_surf_action_t generic_action;
41   xbt_heap_float_t latency;
42   xbt_heap_float_t lat_current;
43   lmm_variable_t variable;
44   network_card_t src;
45   network_card_t dst;
46 } s_surf_action_network_t, *surf_action_network_t;
47
48 #endif                          /* _SURF_NETWORK_PRIVATE_H */