+static xbt_dynar_t surf_input_buffer_stack = NULL;
+static xbt_dynar_t surf_file_to_parse_stack = NULL;
+
+void STag_surfxml_include(void)
+{
+ XBT_INFO("STag_surfxml_include '%s'",A_surfxml_include_file);
+ xbt_dynar_push(surf_file_to_parse_stack, &surf_file_to_parse);
+
+ surf_file_to_parse = surf_fopen(A_surfxml_include_file, "r");
+ xbt_assert((surf_file_to_parse), "Unable to open \"%s\"\n",
+ A_surfxml_include_file);
+ xbt_dynar_push_as(surf_input_buffer_stack,YY_BUFFER_STATE,surf_input_buffer);
+ surf_input_buffer = surf_parse__create_buffer(surf_file_to_parse, YY_BUF_SIZE);
+ surf_parse_push_buffer_state(surf_input_buffer);
+ fflush(NULL);
+}
+
+void ETag_surfxml_include(void)
+{
+ fflush(NULL);
+ fclose(surf_file_to_parse);
+ xbt_dynar_pop(surf_file_to_parse_stack, &surf_file_to_parse);
+ surf_parse_pop_buffer_state();
+ surf_input_buffer = xbt_dynar_pop_as(surf_input_buffer_stack,YY_BUFFER_STATE);
+ XBT_INFO("ETag_surfxml_include '%s'",A_surfxml_include_file);
+}
+