+void surf_config_init(int *argc, char **argv);
+void surf_config_finalize(void);
+void surf_config(const char *name, va_list pa);
+
+
+/*
+ * Returns the initial path. On Windows the initial path is
+ * the current directory for the current process in the other
+ * case the function returns "./" that represents the current
+ * directory on Unix/Linux platforms.
+ */
+const char *__surf_get_initial_path(void);
+
+/* The __surf_is_absolute_file_path() returns 1 if
+ * file_path is a absolute file path, in the other
+ * case the function returns 0.
+ */
+int __surf_is_absolute_file_path(const char *file_path);
+
+/*
+ * One link routing list
+ */
+typedef struct {
+ int src_id;
+ int dst_id;
+ void *link_ptr;
+}s_onelink, *s_onelink_t;
+
+
+/*
+ * Routing logic
+ */
+struct s_routing {
+ const char *name;
+ xbt_dict_t host_id; /* char* -> int* */
+ xbt_dynar_t (*get_route)(int src, int dst);
+ xbt_dict_t (*get_onelink_routes)(void);
+ int (*is_router)(int id);
+ void (*finalize)(void);
+ int host_count;
+ int router_count;
+};
+XBT_PUBLIC(void) routing_model_create(size_t size_of_link,void *loopback);
+
+/*
+ * generic methods to create resources bypassing the parser
+ * FIXME : better if added to the routing model instead
+ */
+XBT_PUBLIC(void) routing_add_route(char *source_id,char *destination_id,xbt_dynar_t links_id,int action);
+XBT_PUBLIC(void) routing_add_host(char* host_id);
+XBT_PUBLIC(void) routing_set_routes(void);
+
+/*
+ * Resource protected methods
+ */
+xbt_dict_t surf_resource_properties(const void *resource);
+
+XBT_PUBLIC(void) surfxml_bufferstack_push(int new);
+XBT_PUBLIC(void) surfxml_bufferstack_pop(int new);
+XBT_PUBLIC_DATA(int) surfxml_bufferstack_size;
+
+
+#endif /* _SURF_SURF_PRIVATE_H */