Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Introduce sg_storage_size_t type
[simgrid.git] / src / simix / smx_io.c
index 1c16b3b..a657e1b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team.
+/* Copyright (c) 2007-2010, 2012-2013. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -21,7 +21,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_io, simix,
  * \param storage the SURF storage to encapsulate
  * \param data some user data (may be NULL)
  */
-smx_host_t SIMIX_storage_create(const char *name, void *storage, void *data)
+smx_storage_t SIMIX_storage_create(const char *name, void *storage, void *data)
 {
   smx_storage_priv_t smx_storage = xbt_new0(s_smx_storage_priv_t, 1);
 
@@ -29,7 +29,8 @@ smx_host_t SIMIX_storage_create(const char *name, void *storage, void *data)
 
   /* Update global variables */
   xbt_lib_set(storage_lib,name,SIMIX_STORAGE_LEVEL,smx_storage);
-  return xbt_lib_get_elm_or_null(storage_lib, name);
+
+  return xbt_lib_get_or_null(storage_lib, name, SIMIX_STORAGE_LEVEL);
 }
 
 
@@ -54,7 +55,7 @@ void SIMIX_file_set_data(smx_file_t fd, void *data){
 }
 
 //SIMIX FILE READ
-void SIMIX_pre_file_read(smx_simcall_t simcall, size_t size,
+void SIMIX_pre_file_read(smx_simcall_t simcall, sg_storage_size_t size,
                        smx_file_t fd)
 {
   smx_action_t action = SIMIX_file_read(simcall->issuer, size, fd);
@@ -62,7 +63,7 @@ void SIMIX_pre_file_read(smx_simcall_t simcall, size_t size,
   simcall->issuer->waiting_action = action;
 }
 
-smx_action_t SIMIX_file_read(smx_process_t process, size_t size,
+smx_action_t SIMIX_file_read(smx_process_t process, sg_storage_size_t size,
                              smx_file_t fd)
 {
   smx_action_t action;
@@ -94,7 +95,7 @@ smx_action_t SIMIX_file_read(smx_process_t process, size_t size,
 }
 
 //SIMIX FILE WRITE
-void SIMIX_pre_file_write(smx_simcall_t simcall, size_t size,
+void SIMIX_pre_file_write(smx_simcall_t simcall, sg_storage_size_t size,
                          smx_file_t fd)
 {
   smx_action_t action = SIMIX_file_write(simcall->issuer, size, fd);
@@ -103,7 +104,7 @@ void SIMIX_pre_file_write(smx_simcall_t simcall, size_t size,
 }
 
 smx_action_t SIMIX_file_write(smx_process_t process,
-                              size_t size, smx_file_t fd)
+               sg_storage_size_t size, smx_file_t fd)
 {
   smx_action_t action;
   smx_host_t host = process->smx_host;
@@ -265,12 +266,12 @@ smx_action_t SIMIX_file_ls(smx_process_t process, const char* mount, const char
   return action;
 }
 
-size_t SIMIX_pre_file_get_size(smx_simcall_t simcall, smx_file_t fd)
+sg_storage_size_t SIMIX_pre_file_get_size(smx_simcall_t simcall, smx_file_t fd)
 {
   return SIMIX_file_get_size(simcall->issuer, fd);
 }
 
-size_t SIMIX_file_get_size(smx_process_t process, smx_file_t fd)
+sg_storage_size_t SIMIX_file_get_size(smx_process_t process, smx_file_t fd)
 {
   smx_host_t host = process->smx_host;
   return  surf_workstation_model->extension.workstation.get_size(host,
@@ -289,23 +290,23 @@ xbt_dynar_t SIMIX_file_get_info(smx_process_t process, smx_file_t fd)
       fd->surf_file);
 }
 
-size_t SIMIX_pre_storage_get_free_size(smx_simcall_t simcall, const char* name)
+sg_storage_size_t SIMIX_pre_storage_get_free_size(smx_simcall_t simcall, const char* name)
 {
   return SIMIX_storage_get_free_size(simcall->issuer, name);
 }
 
-size_t SIMIX_storage_get_free_size(smx_process_t process, const char* name)
+sg_storage_size_t SIMIX_storage_get_free_size(smx_process_t process, const char* name)
 {
   smx_host_t host = process->smx_host;
   return  surf_workstation_model->extension.workstation.get_free_size(host,name);
 }
 
-size_t SIMIX_pre_storage_get_used_size(smx_simcall_t simcall, const char* name)
+sg_storage_size_t SIMIX_pre_storage_get_used_size(smx_simcall_t simcall, const char* name)
 {
   return SIMIX_storage_get_used_size(simcall->issuer, name);
 }
 
-size_t SIMIX_storage_get_used_size(smx_process_t process, const char* name)
+sg_storage_size_t SIMIX_storage_get_used_size(smx_process_t process, const char* name)
 {
   smx_host_t host = process->smx_host;
   return  surf_workstation_model->extension.workstation.get_used_size(host,name);
@@ -319,9 +320,12 @@ xbt_dict_t SIMIX_storage_get_properties(smx_storage_t storage){
   return surf_storage_model->extension.storage.get_properties(storage);
 }
 
+const char* SIMIX_pre_storage_get_name(smx_simcall_t simcall, smx_storage_t storage){
+   return SIMIX_storage_get_name(storage);
+}
+
 const char* SIMIX_storage_get_name(smx_storage_t storage){
   xbt_assert((storage != NULL), "Invalid parameters");
-
   return sg_storage_name(storage);
 }