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"
14 SURF_WORKSTATION_RESOURCE_CPU,
15 SURF_WORKSTATION_RESOURCE_LINK,
16 } e_surf_workstation_resource_type_t;
19 /**************************************/
20 /********* router object **************/
21 /**************************************/
22 typedef struct router_KCCFLN05 {
25 } s_router_KCCFLN05_t, *router_KCCFLN05_t;
28 /**************************************/
29 /********* cpu object *****************/
30 /**************************************/
31 typedef struct cpu_KCCFLN05 {
32 surf_resource_t resource;
33 e_surf_workstation_resource_type_t type; /* Do not move this field */
34 char *name; /* Do not move this field */
35 lmm_constraint_t constraint;
39 double interference_send;
40 double interference_recv;
41 double interference_send_recv;
42 tmgr_trace_event_t power_event;
43 e_surf_cpu_state_t state_current;
44 tmgr_trace_event_t state_event;
45 int id; /* cpu and network card are a single object... */
46 xbt_dynar_t incomming_communications;
47 xbt_dynar_t outgoing_communications;
48 } s_cpu_KCCFLN05_t, *cpu_KCCFLN05_t;
50 /**************************************/
51 /*********** network object ***********/
52 /**************************************/
54 typedef struct network_link_KCCFLN05 {
55 surf_resource_t resource;
56 e_surf_workstation_resource_type_t type; /* Do not move this field */
57 char *name; /* Do not move this field */
58 lmm_constraint_t constraint;
60 tmgr_trace_event_t lat_event;
62 tmgr_trace_event_t bw_event;
63 e_surf_network_link_state_t state_current;
64 tmgr_trace_event_t state_event;
65 } s_network_link_KCCFLN05_t, *network_link_KCCFLN05_t;
68 typedef struct s_route_KCCFLN05 {
71 double impact_on_src_with_other_recv;
72 double impact_on_dst_with_other_send;
73 network_link_KCCFLN05_t *links;
75 } s_route_KCCFLN05_t, *route_KCCFLN05_t;
77 /**************************************/
78 /*************** actions **************/
79 /**************************************/
80 typedef struct surf_action_workstation_KCCFLN05 {
81 s_surf_action_t generic_action;
84 lmm_variable_t variable;
87 cpu_KCCFLN05_t src; /* could be avoided */
88 cpu_KCCFLN05_t dst; /* could be avoided */
89 } s_surf_action_workstation_KCCFLN05_t,
90 *surf_action_workstation_KCCFLN05_t;
95 #endif /* _SURF_WORKSTATION_KCCFLN05_PRIVATE_H */