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;
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;
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;
40 /**************************************/
41 /*********** network object ***********/
42 /**************************************/
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;
50 tmgr_trace_event_t lat_event;
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;
58 typedef struct s_route_KCCFLN05 {
61 double impact_on_src_with_other_recv;
62 double impact_on_dst_with_other_send;
63 network_link_KCCFLN05_t *links;
65 } s_route_KCCFLN05_t, *route_KCCFLN05_t;
67 /**************************************/
68 /*************** actions **************/
69 /**************************************/
70 typedef struct surf_action_workstation_KCCFLN05 {
71 s_surf_action_t generic_action;
74 lmm_variable_t variable;
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;
82 #endif /* _SURF_WORKSTATION_KCCFLN05_PRIVATE_H */