X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d44e911ae45609418de22c72114e85c4e031fcf4..37d3feec77dbbee15fd81cac77b96e535db70292:/src/include/surf/surf.h diff --git a/src/include/surf/surf.h b/src/include/surf/surf.h index 083373d61e..16da53a709 100644 --- a/src/include/surf/surf.h +++ b/src/include/surf/surf.h @@ -409,11 +409,10 @@ XBT_PUBLIC(surf_action_t) surf_workstation_sleep(surf_resource_t resource, doubl * @brief Open a file on a workstation * * @param workstation The surf workstation - * @param mount The mount point - * @param path The path to the file + * @param fullpath The path to the file * @return The surf action corresponding to the openning */ -XBT_PUBLIC(surf_action_t) surf_workstation_open(surf_resource_t workstation, const char* mount, const char* path); +XBT_PUBLIC(surf_action_t) surf_workstation_open(surf_resource_t workstation, const char* fullpath); /** * @brief Close a file descriptor on a workstation @@ -653,7 +652,7 @@ XBT_PUBLIC(xbt_dict_t) surf_workstation_get_mounted_storage_list(surf_resource_t * @param workstation The surf workstation * @return Dictionary of storage */ -XBT_PUBLIC(xbt_dict_t) surf_workstation_get_attached_storage_list(surf_resource_t workstation); +XBT_PUBLIC(xbt_dynar_t) surf_workstation_get_attached_storage_list(surf_resource_t workstation); /** * @brief Unlink a file descriptor @@ -695,6 +694,18 @@ XBT_PUBLIC(size_t) surf_workstation_get_size(surf_resource_t workstation, surf_f */ XBT_PUBLIC(size_t) surf_workstation_file_tell(surf_resource_t workstation, surf_file_t fd); +/** + * @brief Move a file to another location on the *same mount point*. + * @details [long description] + * + * @param workstation The surf workstation + * @param fd The file descriptor + * @param fullpath The new full path + * + * @return MSG_OK if successful, otherwise MSG_TASK_CANCELED + */ +XBT_PUBLIC(int) surf_workstation_file_move(surf_resource_t workstation, surf_file_t fd, const char* fullpath); + /** * @brief Set the position indictator assiociated with the file descriptor to a new position * @details [long description] @@ -710,6 +721,19 @@ XBT_PUBLIC(size_t) surf_workstation_file_tell(surf_resource_t workstation, surf_ */ XBT_PUBLIC(int) surf_workstation_file_seek(surf_resource_t workstation, surf_file_t fd, sg_size_t offset, int origin); +/** + * @brief Copy a file to another location on a remote host. + * @details [long description] + * + * @param workstation The surf workstation + * @param fd The file descriptor + * @param host_dest The workstation destination + * @param fullpath The new full path + * + * @return MSG_OK if successful, otherwise MSG_TASK_CANCELED + */ +XBT_PUBLIC(int) surf_workstation_file_rcopy(surf_resource_t workstation, surf_file_t fd, surf_resource_t host_dest, const char* fullpath); + /** * @brief [brief description] * @details [long description] @@ -751,15 +775,6 @@ XBT_PUBLIC(xbt_dict_t) surf_storage_get_content(surf_resource_t resource); */ XBT_PUBLIC(sg_size_t) surf_storage_get_size(surf_resource_t resource); -/** - * @brief Rename a path - * - * @param resource The surf storage - * @param src The old path - * @param dest The new path - */ -XBT_PUBLIC(void) surf_storage_rename(surf_resource_t resource, const char* src, const char* dest); - /** * @brief Get the data associated to the action * @@ -906,6 +921,15 @@ XBT_PUBLIC(surf_file_t) surf_storage_action_get_file(surf_action_t action); */ XBT_PUBLIC(xbt_dict_t) surf_storage_action_get_ls_dict(surf_action_t action); + +/** + * @brief Get the host the storage is attached to + * + * @param resource The surf storage + * @return The host name + */ +XBT_PUBLIC(const char * ) surf_storage_get_host(surf_resource_t resource); + XBT_PUBLIC(surf_model_t) surf_resource_model(const void *host, int level); /** @} */