Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add MSG_file_seek function
[simgrid.git] / src / surf / surf_interface.cpp
index c0f76be..f2ac787 100644 (file)
@@ -10,7 +10,6 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_kernel);
 /*********
  * TOOLS *
  *********/
-extern double NOW;
 
 static CpuPtr get_casted_cpu(surf_resource_t resource){
   return dynamic_cast<CpuPtr>(static_cast<ResourcePtr>(surf_cpu_resource_priv(resource)));
@@ -32,9 +31,10 @@ char *surf_routing_edge_name(sg_routing_edge_t edge){
 static xbt_parmap_t surf_parmap = NULL; /* parallel map on models */
 #endif
 
-static double *surf_mins = NULL; /* return value of share_resources for each model */
-static int surf_min_index;       /* current index in surf_mins */
-static double surf_min;               /* duration determined by surf_solve */
+extern double NOW;
+extern double *surf_mins; /* return value of share_resources for each model */
+extern int surf_min_index;       /* current index in surf_mins */
+extern double surf_min;               /* duration determined by surf_solve */
 
 void surf_presolve(void)
 {
@@ -369,6 +369,14 @@ sg_size_t surf_workstation_get_used_size(surf_resource_t resource, const char* n
   return get_casted_workstation(resource)->getUsedSize(name);
 }
 
+size_t surf_workstation_file_tell(surf_resource_t workstation, surf_file_t fd){
+  return get_casted_workstation(workstation)->fileTell(fd);
+}
+
+int surf_workstation_file_seek(surf_resource_t workstation, surf_file_t fd, sg_size_t offset, int origin){
+  return get_casted_workstation(workstation)->fileSeek(fd, offset, origin);
+}
+
 xbt_dynar_t surf_workstation_get_vms(surf_resource_t resource){
   return get_casted_workstation(resource)->getVms();
 }