Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Adding more debuging info.
[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
13 typedef enum {
14   SURF_WORKSTATION_RESOURCE_CPU,
15   SURF_WORKSTATION_RESOURCE_LINK,
16 } e_surf_workstation_resource_type_t;
17
18 /**************************************/
19 /********* cpu object *****************/
20 /**************************************/
21 typedef struct cpu_KCCFLN05 {
22   surf_resource_t resource;
23   e_surf_workstation_resource_type_t type;      /* Do not move this field */
24   char *name;                                   /* Do not move this field */
25   lmm_constraint_t constraint;
26   lmm_constraint_t bus;
27   double power_scale;
28   double power_current;
29   double interference_send;
30   double interference_recv;
31   double interference_send_recv;
32   tmgr_trace_event_t power_event;
33   e_surf_cpu_state_t state_current;
34   tmgr_trace_event_t state_event;
35   int id;                       /* cpu and network card are a single object... */
36   xbt_dynar_t incomming_communications;
37   xbt_dynar_t outgoing_communications;
38 } s_cpu_KCCFLN05_t, *cpu_KCCFLN05_t;
39
40 /**************************************/
41 /*********** network object ***********/
42 /**************************************/
43
44 typedef struct network_link_KCCFLN05 {
45   surf_resource_t resource;
46   e_surf_workstation_resource_type_t type;      /* Do not move this field */
47   char *name;                                   /* Do not move this field */
48   lmm_constraint_t constraint;
49   double lat_current;
50   tmgr_trace_event_t lat_event;
51   double bw_current;
52   tmgr_trace_event_t bw_event;
53   e_surf_network_link_state_t state_current;
54   tmgr_trace_event_t state_event;
55 } s_network_link_KCCFLN05_t, *network_link_KCCFLN05_t;
56
57
58 typedef struct s_route_KCCFLN05 {
59   double impact_on_src;
60   double impact_on_dst;
61   double impact_on_src_with_other_recv;
62   double impact_on_dst_with_other_send;
63   network_link_KCCFLN05_t *links;
64   int size;
65 } s_route_KCCFLN05_t, *route_KCCFLN05_t;
66
67 /**************************************/
68 /*************** actions **************/
69 /**************************************/
70 typedef struct surf_action_workstation_KCCFLN05 {
71   s_surf_action_t generic_action;
72   double latency;
73   double lat_current;
74   lmm_variable_t variable;
75   double rate;
76   int suspended;
77   cpu_KCCFLN05_t src;           /* could be avoided */
78   cpu_KCCFLN05_t dst;           /* could be avoided */
79 } s_surf_action_workstation_KCCFLN05_t,
80   *surf_action_workstation_KCCFLN05_t;
81
82 #endif                          /* _SURF_WORKSTATION_KCCFLN05_PRIVATE_H */