3 /* Copyright (c) 2005 Arnaud Legrand. All rights reserved. */
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. */
8 #ifndef _SURF_WORKSTATION_KCCFLN05_PRIVATE_H
9 #define _SURF_WORKSTATION_KCCFLN05_PRIVATE_H
11 #include "surf_private.h"
12 #include "network_private.h"
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!!! */
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;
34 } s_workstation_KCCFLN05_t, *workstation_KCCFLN05_t;
36 /**************************************/
37 /*********** network object ***********/
38 /**************************************/
40 typedef struct network_link_KCCFLN05 {
41 surf_resource_t resource; /* Any such object, added in a trace
42 should start by this field!!! */
45 tmgr_trace_event_t bw_event;
46 e_surf_network_link_state_t state_current;
47 tmgr_trace_event_t state_event;
48 lmm_constraint_t constraint;
49 } s_network_link_KCCFLN05_t, *network_link_KCCFLN05_t;
52 typedef struct s_route_KCCFLN05 {
55 double impact_on_src_with_other_recv;
56 double impact_on_dst_with_other_send;
57 network_link_KCCFLN05_t *links;
59 } s_route_KCCFLN05_t, *route_KCCFLN05_t;
61 /**************************************/
62 /*************** actions **************/
63 /**************************************/
65 typedef struct surf_action_cpu_KCCFLN05 {
66 s_surf_action_t generic_action;
67 lmm_variable_t variable;
68 } s_surf_action_cpu_KCCFLN05_t, *surf_action_cpu_KCCFLN05_t;
70 typedef struct surf_action_network_KCCFLN05 {
71 s_surf_action_t generic_action;
72 lmm_variable_t variable;
73 workstation_KCCFLN05_t src;
74 workstation_KCCFLN05_t dst;
75 } s_surf_action_network_KCCFLN05_t, *surf_action_network_KCCFLN05_t;
78 #endif /* _SURF_WORKSTATION_KCCFLN05_PRIVATE_H */