X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/33145f3a1e718d721f062d152cda9a98d1aab5b8..4fcb76c0c08cf4aaa8379bb5da8215334b4e83d2:/examples/msg/io/file.c diff --git a/examples/msg/io/file.c b/examples/msg/io/file.c index 5c58289bbf..87c9618ee4 100644 --- a/examples/msg/io/file.c +++ b/examples/msg/io/file.c @@ -4,23 +4,50 @@ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ +/** @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. + * + * - io/file.c Example with the disk resource + */ + +#define FILENAME "/home/user/Install/simgrid/doc/simgrid/examples/cxx/basic/basic_platform.xml" + #include #include -#include "simix/simix.h" #include "msg/msg.h" #include "surf/surf_private.h" int host(int argc, char *argv[]); -XBT_LOG_NEW_DEFAULT_CATEGORY(file, - "Messages specific for this simix example"); +XBT_LOG_NEW_DEFAULT_CATEGORY(io_file, + "Messages specific for this io example"); int host(int argc, char *argv[]) { - size_t read = simcall_file_read(NULL,0,0,NULL); - XBT_INFO("Host '%s' read %ld",MSG_host_get_name(MSG_host_self()),read); - size_t write = simcall_file_write(NULL,0,0,NULL); - XBT_INFO("Host '%s' write %ld",MSG_host_get_name(MSG_host_self()), write); + m_file_t file; + char* mount = bprintf("C:"); + + file = MSG_file_open(mount,FILENAME,"rw"); + XBT_INFO("Host '%s' open %p",MSG_host_get_name(MSG_host_self()), file); + + size_t read = MSG_file_read(mount,NULL,0,0,file); + XBT_INFO("Host '%s' read %zu", MSG_host_get_name(MSG_host_self()), read); + + size_t write = MSG_file_write(mount,NULL,0,0,file); + XBT_INFO("Host '%s' write %zu", MSG_host_get_name(MSG_host_self()), write); + + int res = MSG_file_stat(mount,0,NULL); + XBT_INFO("Host '%s' stat %d",MSG_host_get_name(MSG_host_self()), res); + + res = MSG_file_close(mount,file); + XBT_INFO("Host '%s' close %d",MSG_host_get_name(MSG_host_self()), res); + + free(mount); return 0; } @@ -29,18 +56,17 @@ int main(int argc, char **argv) int i,res; MSG_global_init(&argc, argv); MSG_create_environment(argv[1]); - m_host_t *host_table = MSG_get_host_table(); - int number_of_hosts = MSG_get_host_number(); + xbt_dynar_t hosts = MSG_hosts_as_dynar(); MSG_function_register("host", host); - XBT_INFO("Number of host '%d'",number_of_hosts); - for(i = 0 ; i