Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove useless callback declarations in platf
[simgrid.git] / src / include / simgrid / platf_interface.h
index 4502cb0..39c771c 100644 (file)
@@ -1,6 +1,6 @@
 /* platf_interface.h - Internal interface to the SimGrid platforms          */
 
-/* Copyright (c) 2004, 2005, 2006, 2007, 2009, 2010, 2011. The SimGrid Team.
+/* Copyright (c) 2004-2007, 2009-2015. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -9,18 +9,38 @@
 #ifndef SG_PLATF_INTERFACE_H
 #define SG_PLATF_INTERFACE_H
 
+#include <xbt/dict.h>
+
 #include "simgrid/platf.h" /* public interface */
+#include "xbt/RngStream.h"
+
+#include <simgrid/forward.h>
+
+SG_BEGIN_DECL()
 
 /* Module management functions */
-void sg_platf_init(void);
-void sg_platf_exit(void);
+XBT_PUBLIC(void) sg_platf_init(void);
+XBT_PUBLIC(void) sg_platf_exit(void);
 
 /* Managing the parsing callbacks */
 
-typedef void (*surf_parse_host_fct_t)(surf_parsing_host_arg_t);
-void surf_parse_host_add_cb(surf_parse_host_fct_t);
+typedef void (*sg_platf_link_cb_t)(sg_platf_link_cbarg_t);
+typedef void (*sg_platf_cluster_cb_t)(sg_platf_cluster_cbarg_t);
+
+XBT_PUBLIC(void) sg_platf_link_add_cb(sg_platf_link_cb_t);
+XBT_PUBLIC(void) sg_platf_cluster_add_cb(sg_platf_cluster_cb_t fct);
+XBT_PUBLIC(void) sg_platf_postparse_add_cb(void_f_void_t fct);
 
+/** \brief Pick the right models for CPU, net and host, and call their model_init_preparse
+ *
+ * Must be called within parsing/creating the environment (after the <config>s, if any, and before <AS> or friends such as <cluster>)
+ */
+XBT_PUBLIC(void) surf_config_models_setup(void);
 
+/* RngStream management functions */
+XBT_PUBLIC(void) sg_platf_rng_stream_init(unsigned long seed[6]);
+XBT_PUBLIC(RngStream) sg_platf_rng_stream_get(const char* id);
 
+SG_END_DECL()
 
 #endif                          /* SG_PLATF_INTERFACE_H */