A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cosmetics: move SimGrid copyright on top.
[simgrid.git]
/
include
/
simgrid
/
platf.h
diff --git
a/include/simgrid/platf.h
b/include/simgrid/platf.h
index 652b8bc9ce74be6873f129a446dd2e5e7db4e4dd..4031d13d73f951aed3bc8d5b714061a872d0e8b1 100644
(file)
--- a/
include/simgrid/platf.h
+++ b/
include/simgrid/platf.h
@@
-1,6
+1,7
@@
/* platf.h - Public interface to the SimGrid platforms */
/* platf.h - Public interface to the SimGrid platforms */
-/* Copyright (c) 2004-2012. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2004-2014. The SimGrid Team.
+ * All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
@@
-10,12
+11,15
@@
#include <xbt.h>
#include <xbt.h>
-typedef void *sg_routing_link_t; /* The actual type is model-dependent so use void* instead*/
-typedef struct s_routing_edge *sg_routing_edge_t;
+SG_BEGIN_DECL()
+
+typedef void *sg_routing_link_t; /* FIXME:The actual type is model-dependent so use void* instead*/
+typedef struct RoutingEdge *sg_routing_edge_t;
XBT_PUBLIC(sg_routing_edge_t) sg_routing_edge_by_name_or_null(const char *name);
XBT_PUBLIC(sg_routing_edge_t) sg_routing_edge_by_name_or_null(const char *name);
-/** Defines whether a given resource is working or not */
+/** @ingroup SURF_interface
+* @brief Defines whether a given resource is working or not */
typedef enum {
SURF_RESOURCE_ON = 1, /**< Up & ready */
SURF_RESOURCE_OFF = 0 /**< Down & broken */
typedef enum {
SURF_RESOURCE_ON = 1, /**< Up & ready */
SURF_RESOURCE_OFF = 0 /**< Down & broken */
@@
-40,6
+44,11
@@
typedef enum {
SURF_PROCESS_ON_FAILURE_RESTART = 0
} e_surf_process_on_failure_t;
SURF_PROCESS_ON_FAILURE_RESTART = 0
} e_surf_process_on_failure_t;
+typedef enum {
+ SURF_CLUSTER_FLAT = 1,
+ SURF_CLUSTER_TORUS = 0
+} e_surf_cluster_topology_t;
+
typedef struct tmgr_trace *tmgr_trace_t; /**< Opaque structure defining an availability trace */
typedef struct tmgr_trace *tmgr_trace_t; /**< Opaque structure defining an availability trace */
@@
-70,11
+79,20
@@
XBT_PUBLIC(probabilist_event_generator_t) tmgr_event_generator_new_exponential(c
XBT_PUBLIC(probabilist_event_generator_t) tmgr_event_generator_new_weibull(const char* id,
double scale,
double shape);
XBT_PUBLIC(probabilist_event_generator_t) tmgr_event_generator_new_weibull(const char* id,
double scale,
double shape);
+
typedef xbt_dictelm_t sg_host_t;
static inline char* sg_host_name(sg_host_t host) {
return host->key;
}
typedef xbt_dictelm_t sg_host_t;
static inline char* sg_host_name(sg_host_t host) {
return host->key;
}
+typedef xbt_dictelm_t sg_storage_t;
+static inline char* sg_storage_name(sg_storage_t storage) {
+ return storage->key;
+}
+/** @ingroup m_datatypes_management_details
+ * @brief Type for any simgrid size
+ */
+typedef unsigned long long sg_size_t;
/*
* Platform creation functions. Instead of passing 123 arguments to the creation functions
/*
* Platform creation functions. Instead of passing 123 arguments to the creation functions
@@
-88,7
+106,8
@@
static inline char* sg_host_name(sg_host_t host) {
typedef struct {
const char* id;
typedef struct {
const char* id;
- double power_peak;
+ xbt_dynar_t power_peak;
+ int pstate;
int core_amount;
double power_scale;
tmgr_trace_t power_trace;
int core_amount;
double power_scale;
tmgr_trace_t power_trace;
@@
-190,6
+209,9
@@
typedef struct s_sg_platf_cluster_cbarg {
double loopback_bw;
double loopback_lat;
double limiter_link;
double loopback_bw;
double loopback_lat;
double limiter_link;
+ e_surf_cluster_topology_t topology;
+ const char* topo_parameters;
+ xbt_dict_t properties;
const char* router_id;
e_surf_link_sharing_policy_t sharing_policy;
e_surf_link_sharing_policy_t bb_sharing_policy;
const char* router_id;
e_surf_link_sharing_policy_t sharing_policy;
e_surf_link_sharing_policy_t bb_sharing_policy;
@@
-198,7
+220,7
@@
typedef struct s_sg_platf_cluster_cbarg {
} s_sg_platf_cluster_cbarg_t;
#define SG_PLATF_CLUSTER_INITIALIZER {NULL,NULL,NULL,NULL,NULL,NULL \
} s_sg_platf_cluster_cbarg_t;
#define SG_PLATF_CLUSTER_INITIALIZER {NULL,NULL,NULL,NULL,NULL,NULL \
- ,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}
+ ,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
,NULL
}
typedef struct s_sg_platf_cabinet_cbarg *sg_platf_cabinet_cbarg_t;
typedef struct s_sg_platf_cabinet_cbarg {
typedef struct s_sg_platf_cabinet_cbarg *sg_platf_cabinet_cbarg_t;
typedef struct s_sg_platf_cabinet_cbarg {
@@
-217,7
+239,9
@@
typedef struct {
const char* id;
const char* type_id;
const char* content;
const char* id;
const char* type_id;
const char* content;
+ const char* content_type;
xbt_dict_t properties;
xbt_dict_t properties;
+ const char* attach;
} s_sg_platf_storage_cbarg_t, *sg_platf_storage_cbarg_t;
#define SG_PLATF_STORAGE_INITIALIZER {NULL,NULL,NULL,NULL}
} s_sg_platf_storage_cbarg_t, *sg_platf_storage_cbarg_t;
#define SG_PLATF_STORAGE_INITIALIZER {NULL,NULL,NULL,NULL}
@@
-226,8
+250,10
@@
typedef struct {
const char* id;
const char* model;
const char* content;
const char* id;
const char* model;
const char* content;
+ const char* content_type;
xbt_dict_t properties;
xbt_dict_t properties;
- unsigned long size; /* size in Gbytes */
+ xbt_dict_t model_properties;
+ sg_size_t size;
} s_sg_platf_storage_type_cbarg_t, *sg_platf_storage_type_cbarg_t;
#define SG_PLATF_STORAGE_TYPE_INITIALIZER {NULL,NULL,NULL,NULL,NULL}
} s_sg_platf_storage_type_cbarg_t, *sg_platf_storage_type_cbarg_t;
#define SG_PLATF_STORAGE_TYPE_INITIALIZER {NULL,NULL,NULL,NULL,NULL}
@@
-240,7
+266,7
@@
typedef struct {
#define SG_PLATF_MSTORAGE_INITIALIZER {NULL,NULL}
typedef struct {
#define SG_PLATF_MSTORAGE_INITIALIZER {NULL,NULL}
typedef struct {
- const char*
i
d;
+ const char*
storageI
d;
const char* name;
} s_sg_platf_mount_cbarg_t, *sg_platf_mount_cbarg_t;
const char* name;
} s_sg_platf_mount_cbarg_t, *sg_platf_mount_cbarg_t;
@@
-356,5
+382,6
@@
XBT_PUBLIC(void) sg_platf_ASroute_add_link (const char* link_id, sg_platf_route_
typedef void (*sg_platf_process_cb_t)(sg_platf_process_cbarg_t);
XBT_PUBLIC(void) sg_platf_process_add_cb(sg_platf_process_cb_t fct);
typedef void (*sg_platf_process_cb_t)(sg_platf_process_cbarg_t);
XBT_PUBLIC(void) sg_platf_process_add_cb(sg_platf_process_cb_t fct);
+SG_END_DECL()
#endif /* SG_PLATF_H */
#endif /* SG_PLATF_H */