-/* Copyright (c) 2008-2010, 2012-2014. The SimGrid Team.
+/* Copyright (c) 2008-2010, 2012-2015. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
/** @addtogroup MSG_examples
*
- * @subsection MSG_ex_resources Other resource kinds
- *
- * This section contains some sparse examples of how to use the other
- * kind of resources, such as disk or GPU. These resources are quite
- * experimental for now, but here we go anyway.
- *
- * - <b>io/file.c</b> Example with the disk resource
+ * - <b>io/file_unlink.c</b> TBA
*/
-#define FILENAME1 "./doc/simgrid/examples/platforms/g5k.xml"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "msg/msg.h"
-#include "surf/surf_private.h"
+#define FILENAME1 "/home/doc/simgrid/examples/platforms/g5k.xml"
-int host(int argc, char *argv[]);
+#include "simgrid/msg.h"
-XBT_LOG_NEW_DEFAULT_CATEGORY(io_file,
- "Messages specific for this io example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(io_file, "Messages specific for this io example");
-int host(int argc, char *argv[])
+static int host(int argc, char *argv[])
{
- msg_file_t file = NULL;
- char* mount = xbt_strdup("/home");
- sg_size_t write;
-
// First open
XBT_INFO("\tOpen file '%s'",FILENAME1);
- file = MSG_file_open(mount,FILENAME1, NULL);
+ msg_file_t file = MSG_file_open(FILENAME1, NULL);
// Unlink the file
- XBT_INFO("\tUnlink file '%s'",file->fullname);
+ XBT_INFO("\tUnlink file '%s'",MSG_file_get_name(file));
MSG_file_unlink(file);
// Re Open the file wich is in fact created
XBT_INFO("\tOpen file '%s'",FILENAME1);
- file = MSG_file_open(mount,FILENAME1, NULL);
+ file = MSG_file_open(FILENAME1, NULL);
+
+ // Write into the new file
+ sg_size_t write = MSG_file_write(file,100000); // Write for 100Ko
+ XBT_INFO("\tHave written %llu on %s",write,MSG_file_get_name(file));
// Write into the new file
write = MSG_file_write(file,100000); // Write for 100Ko
- XBT_INFO("\tHave written %llu on %s",write,file->fullname);
+ XBT_INFO("\tHave written %llu on %s",write,MSG_file_get_name(file));
// Close the file
- XBT_INFO("\tClose file '%s'",file->fullname);
+ XBT_INFO("\tClose file '%s'",MSG_file_get_name(file));
MSG_file_close(file);
- xbt_dict_t dict_ls;
- char* key;
- surf_stat_t data = NULL;
- xbt_dict_cursor_t cursor = NULL;
-
- dict_ls = MSG_file_ls(mount,"./");
- XBT_INFO(" ");XBT_INFO("ls ./");
- xbt_dict_foreach(dict_ls,cursor,key,data){
- if(data) XBT_INFO("FILE : %s",key);
- else XBT_INFO("DIR : %s",key);
- }
- xbt_dict_free(&dict_ls);
-
- dict_ls = MSG_file_ls(mount,"./doc/simgrid/examples/platforms/");
- XBT_INFO(" ");XBT_INFO("ls ./doc/simgrid/examples/platforms/");
- xbt_dict_foreach(dict_ls,cursor,key,data){
- if(data) XBT_INFO("FILE : %s",key);
- else XBT_INFO("DIR : %s",key);
- }
- xbt_dict_free(&dict_ls);
-
- dict_ls = MSG_file_ls(mount,"./doc/simgrid/examples/msg/");
- XBT_INFO(" ");XBT_INFO("ls ./doc/simgrid/examples/msg/");
- xbt_dict_foreach(dict_ls,cursor,key,data){
- if(data) XBT_INFO("FILE : %s",key);
- else XBT_INFO("DIR : %s",key);
- }
- xbt_dict_free(&dict_ls);
-
- free(mount);
-
return 0;
}
int main(int argc, char **argv)
{
- int res;
MSG_init(&argc, argv);
MSG_create_environment(argv[1]);
xbt_dynar_t hosts = MSG_hosts_as_dynar();
xbt_dynar_free(&hosts);
- res = MSG_main();
+ int res = MSG_main();
XBT_INFO("Simulation time %g", MSG_get_clock());
- if (res == MSG_OK)
- return 0;
- else
- return 1;
-
+ return res != MSG_OK;
}