+XBT_PUBLIC(double) get_cpu_power(const char *power);
+
+/*public interface to create resource bypassing the parser via cpu/network model
+ *
+ * see surfxml_parse.c
+ * */
+XBT_PUBLIC(void) surf_host_create_resource(char *name, double power_peak,
+ double power_scale,
+ tmgr_trace_t power_trace,
+ int core,
+ e_surf_resource_state_t
+ state_initial,
+ tmgr_trace_t state_trace,
+ xbt_dict_t cpu_properties);
+
+/*public interface to create resource bypassing the parser via workstation_ptask_L07 model
+ *
+ * see surfxml_parse.c
+ * */
+XBT_PUBLIC(void) surf_wsL07_host_create_resource(char *name,
+ double power_peak,
+ double power_scale,
+ tmgr_trace_t power_trace,
+ e_surf_resource_state_t
+ state_initial,
+ tmgr_trace_t state_trace,
+ xbt_dict_t
+ cpu_properties);
+/**
+ * create link resource
+ * see surfxml_parse.c
+ */
+XBT_PUBLIC(void) surf_link_create_resource(char *name,
+ double bw_initial,
+ tmgr_trace_t bw_trace,
+ double lat_initial,
+ tmgr_trace_t lat_trace,
+ e_surf_resource_state_t
+ state_initial,
+ tmgr_trace_t state_trace,
+ e_surf_link_sharing_policy_t
+ policy, xbt_dict_t properties);
+
+
+XBT_PUBLIC(void) surf_wsL07_link_create_resource(char *name,
+ double bw_initial,
+ tmgr_trace_t bw_trace,
+ double lat_initial,
+ tmgr_trace_t lat_trace,
+ e_surf_resource_state_t
+ state_initial,
+ tmgr_trace_t state_trace,
+ e_surf_link_sharing_policy_t
+ policy,
+ xbt_dict_t properties);
+/**
+ * add route element (link_ctn) bypassing the parser
+ *
+ * see surfxml_parse.c
+ *
+ */
+XBT_PUBLIC(void) surf_add_route_element(char *link_ctn_id);
+
+/**
+ * set route src_id,dest_id, and create a route resource
+ *
+ * see surf_routing.c && surfxml_parse.c
+ */
+
+XBT_PUBLIC(void) surf_set_routes(void);
+
+
+/**
+ * add traces
+ * see surfxml_parse.c
+ */
+XBT_PUBLIC(void) surf_add_host_traces(void);
+XBT_PUBLIC(void) surf_add_link_traces(void);
+XBT_PUBLIC(void) surf_wsL07_add_traces(void);
+
+/*
+ * init AS from lua console
+ * see surf_routing.c
+ */
+XBT_PUBLIC(void) routing_AS_init(const char *id, const char *mode);
+XBT_PUBLIC(void) routing_AS_end(const char *id);
+// add host to network element list
+XBT_PUBLIC(void) routing_add_host(const char *host_id);
+//Set a new link on the actual list of link for a route or ASroute
+XBT_PUBLIC(void) routing_add_link(const char *link_id);
+//Set the endpoints for a route
+XBT_PUBLIC(void) routing_set_route(const char *src_id, const char *dst_id);
+//Store the route
+XBT_PUBLIC(void) routing_store_route(void);
+
+/*
+ * interface between surf and lua bindings
+ * see surfxml_parse.c
+ */
+XBT_PUBLIC(void) surf_AS_new(const char *id, const char *mode);
+XBT_PUBLIC(void) surf_AS_finalize(const char *id);
+XBT_PUBLIC(void) surf_route_add_host(const char *id);
+XBT_PUBLIC(void) surf_routing_add_route(const char *src_id,
+ const char *dest_id,
+ xbt_dynar_t links_id);
+
+#include "surf/surf_resource.h"
+#include "surf/surf_resource_lmm.h"