-class NetworkModel;
-class NetworkAction;
-
-/*************
- * Callbacks *
- *************/
-
-/** @ingroup SURF_callbacks
- * @brief Callbacks handler which emits the callbacks after Link creation
- * @details Callback functions have the following signature: `void(Link*)`
- */
-XBT_PUBLIC_DATA( surf_callback(void, Link*)) networkLinkCreatedCallbacks;
-
-/** @ingroup SURF_callbacks
- * @brief Callbacks handler which emits the callbacks after Link destruction
- * @details Callback functions have the following signature: `void(Link*)`
- */
-XBT_PUBLIC_DATA( surf_callback(void, Link*)) networkLinkDestructedCallbacks;
-
-/** @ingroup SURF_callbacks
- * @brief Callbacks handler which emits the callbacks after Link State changed
- * @details Callback functions have the following signature: `void(LinkAction *action, e_surf_resource_state_t old, e_surf_resource_state_t current)`
- */
-XBT_PUBLIC_DATA( surf_callback(void, Link*, e_surf_resource_state_t, e_surf_resource_state_t)) networkLinkStateChangedCallbacks;
-
-/** @ingroup SURF_callbacks
- * @brief Callbacks handler which emits the callbacks after NetworkAction State changed
- * @details Callback functions have the following signature: `void(NetworkAction *action, e_surf_action_state_t old, e_surf_action_state_t current)`
- */
-XBT_PUBLIC_DATA( surf_callback(void, NetworkAction*, e_surf_action_state_t, e_surf_action_state_t)) networkActionStateChangedCallbacks;
-
-/** @ingroup SURF_callbacks
- * @brief Callbacks handler which emits the callbacks after communication created
- * @details Callback functions have the following signature: `void(NetworkAction *action, RoutingEdge *src, RoutingEdge *dst, double size, double rate)`
- */
-XBT_PUBLIC_DATA( surf_callback(void, NetworkAction*, RoutingEdge *src, RoutingEdge *dst, double size, double rate)) networkCommunicateCallbacks;
-
-/*********
- * Tools *
- *********/
-XBT_PUBLIC(void) netlink_parse_init(sg_platf_link_cbarg_t link);
-
-XBT_PUBLIC(void) net_add_traces();