X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3caf6372b036a72110757e43456d08e0a463e7d3..1ee0ed6b44e3639fcfcbb37a43e8709aa95a2db5:/src/msg/msg_io.c diff --git a/src/msg/msg_io.c b/src/msg/msg_io.c index 7d51d15d75..1932908a44 100644 --- a/src/msg/msg_io.c +++ b/src/msg/msg_io.c @@ -115,3 +115,42 @@ void MSG_file_free_stat(s_msg_stat_t *stat) free(stat->user); free(stat->user_rights); } + +/** \ingroup msg_file_management + * \brief Unlink the file pointed by fd + * + * \param fd is the file descriptor (#msg_file_t) + * \return 0 on success or 1 on error + */ +int MSG_file_unlink(msg_file_t fd) +{ + int res = simcall_file_unlink(fd->simdata->smx_file); + free(fd->name); + xbt_free(fd->simdata); + xbt_free(fd); + return res; +} + +/** \ingroup msg_file_management + * \brief Search for file + * + * \param mount is the mount point where find the file is located + * \param path the file regex to find + * \return a xbt_dict_t of file where key is the name of file and the + * value the msg_stat_t corresponding to the key + */ +xbt_dict_t MSG_file_ls(const char *mount, const char *path) +{ + xbt_assert(path,"You must set path"); + int size = strlen(path); + if(size && path[size-1] != '/') + { + char *new_path = bprintf("%s/",path); + XBT_DEBUG("Change '%s' for '%s'",path,new_path); + xbt_dict_t dict = simcall_file_ls(mount, new_path); + xbt_free(new_path); + return dict; + } + + return simcall_file_ls(mount, path); +}