Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
It worries me however, to realize how tough an ass-hole I have had to be, in
[simgrid.git] / src / surf / workstation_KCCFLN05_private.h
1 /*      $Id$     */
2
3 /* Copyright (c) 2005 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_WORKSTATION_KCCFLN05_PRIVATE_H
9 #define _SURF_WORKSTATION_KCCFLN05_PRIVATE_H
10
11 #include "surf_private.h"
12 #include "network_private.h"
13
14 /**************************************/
15 /********* workstation object *********/
16 /**************************************/
17 typedef struct workstation_KCCFLN05 {
18   surf_resource_t resource;     /* Any such object, added in a trace
19                                    should start by this field!!! */
20   char *name;
21   double power_scale;
22   double power_current;
23   double interference_send;
24   double interference_recv;
25   double interference_send_recv;
26   tmgr_trace_event_t power_event;
27   e_surf_cpu_state_t state_current;
28   tmgr_trace_event_t state_event;
29   lmm_constraint_t constraint;
30   int id; /* cpu and network card are a single object... */
31   xbt_dynar_t incomming_communications;
32   xbt_dynar_t outgoing_communications;
33 } s_workstation_KCCFLN05_t, *workstation_KCCFLN05_t;
34
35 /**************************************/
36 /*********** network object ***********/
37 /**************************************/
38
39 typedef struct network_link_KCCFLN05 {
40   surf_resource_t resource;     /* Any such object, added in a trace
41                                    should start by this field!!! */
42   char *name;
43   double bw_current;
44   tmgr_trace_event_t bw_event;
45   e_surf_network_link_state_t state_current;
46   tmgr_trace_event_t state_event;
47   lmm_constraint_t constraint;
48 } s_network_link_KCCFLN05_t, *network_link_KCCFLN05_t;
49
50
51 typedef struct s_route_KCCFLN05 {
52   double impact_on_src;
53   double impact_on_dst;
54   double impact_on_src_with_other_recv; 
55   double impact_on_dst_with_other_send;
56   network_link_KCCFLN05_t *links;
57   int size;
58 } s_route_KCCFLN05_t, *route_KCCFLN05_t;
59
60 /**************************************/
61 /*************** actions **************/
62 /**************************************/
63
64 typedef struct surf_action_cpu_KCCFLN05 {
65   s_surf_action_t generic_action;
66   lmm_variable_t variable;
67 } s_surf_action_cpu_KCCFLN05_t, *surf_action_cpu_KCCFLN05_t;
68
69 typedef struct surf_action_network_KCCFLN05 {
70   s_surf_action_t generic_action;
71   lmm_variable_t variable;
72   workstation_KCCFLN05_t src;
73   workstation_KCCFLN05_t dst;
74 } s_surf_action_network_KCCFLN05_t, *surf_action_network_KCCFLN05_t;
75
76
77 #endif                          /* _SURF_WORKSTATION_KCCFLN05_PRIVATE_H */