#include "surf/surfxml.h"
#include "xbt/function_types.h"
/* Entry-point of the surfxml parser. */
-extern int_f_void_t * XBT_PUBLIC_DATA surf_parse;
+XBT_PUBLIC_DATA(int_f_void_t *) surf_parse;
/* Hook for the different tags. They can be redefined at will whereas
the versions without the _fun can't. */
extern void_f_void_t *ETag_surfxml_route_fun;
extern void_f_void_t *STag_surfxml_route_element_fun;
extern void_f_void_t *ETag_surfxml_route_element_fun;
-extern void_f_void_t * XBT_PUBLIC_DATA STag_surfxml_process_fun;
-extern void_f_void_t * XBT_PUBLIC_DATA ETag_surfxml_process_fun;
+XBT_PUBLIC_DATA(void_f_void_t *) STag_surfxml_process_fun;
+XBT_PUBLIC_DATA(void_f_void_t *) ETag_surfxml_process_fun;
extern void_f_void_t *STag_surfxml_argument_fun;
-extern void_f_void_t * XBT_PUBLIC_DATA ETag_surfxml_argument_fun;
+XBT_PUBLIC_DATA(void_f_void_t *) ETag_surfxml_argument_fun;
XBT_PUBLIC(void) surf_parse_open(const char *file);
XBT_PUBLIC(void) surf_parse_close(void);
/** \brief The timer resource
* \ingroup SURF_resources
*/
-extern surf_timer_resource_t XBT_PUBLIC_DATA surf_timer_resource;
+XBT_PUBLIC_DATA(surf_timer_resource_t) surf_timer_resource;
/** \brief Initializes the timer resource
* \ingroup SURF_resources
/** \brief The CPU resource
* \ingroup SURF_resources
*/
-extern surf_cpu_resource_t XBT_PUBLIC_DATA surf_cpu_resource;
+XBT_PUBLIC_DATA(surf_cpu_resource_t) surf_cpu_resource;
/** \brief Initializes the CPU resource with the model Cas01
* \ingroup SURF_resources
* resource should be accessed because depending on the platform model,
* the network resource can be NULL.
*/
-extern surf_network_resource_t XBT_PUBLIC_DATA surf_network_resource;
+XBT_PUBLIC_DATA(surf_network_resource_t) surf_network_resource;
/** \brief Initializes the platform with the network model CM02
* \ingroup SURF_resources
* because depending on the platform model, the network resource and the CPU resource
* may not exist.
*/
-extern surf_workstation_resource_t XBT_PUBLIC_DATA surf_workstation_resource;
+XBT_PUBLIC_DATA(surf_workstation_resource_t) surf_workstation_resource;
/** \brief Initializes the platform with the workstation model CLM03
* \ingroup SURF_resources
*
* \see workstation_set
*/
-extern xbt_dict_t XBT_PUBLIC_DATA network_link_set;
+XBT_PUBLIC_DATA(xbt_dict_t) network_link_set;
/** \brief The workstations
* \ingroup SURF_resources
*
* \see network_link_set
*/
-extern xbt_dict_t XBT_PUBLIC_DATA workstation_set;
+XBT_PUBLIC_DATA(xbt_dict_t) workstation_set;
/** \brief List of initialized resources
* \ingroup SURF_resources
*/
-extern xbt_dynar_t XBT_PUBLIC_DATA resource_list;
+XBT_PUBLIC_DATA(xbt_dynar_t) resource_list;
/*******************************************/
/*** SURF Globals **************************/