X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6c043adc10737ac832335d8bac93f1aee471f980..fdc1a282a7200e7131298083d6dd41f6aa8beb89:/examples/msg/io/file.c diff --git a/examples/msg/io/file.c b/examples/msg/io/file.c index 0eb2cb459c..733c24d0e3 100644 --- a/examples/msg/io/file.c +++ b/examples/msg/io/file.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2008, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2008-2010, 2012-2013. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -33,37 +33,33 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(io_file, int host(int argc, char *argv[]) { msg_file_t file = NULL; - s_msg_stat_t stat; - void *ptr = NULL; - char* mount = bprintf("/home"); - double read,write; - - if(!strcmp(MSG_process_get_name(MSG_process_self()),"0")) - file = MSG_file_open(mount,FILENAME1,"rw"); - else if(!strcmp(MSG_process_get_name(MSG_process_self()),"1")) - file = MSG_file_open(mount,FILENAME2,"rw"); + char* mount = xbt_strdup("/home"); + sg_storage_size_t read,write; + + if(!strcmp(MSG_process_get_name(MSG_process_self()),"0")){ + file = MSG_file_open(mount,FILENAME1, NULL); + MSG_file_dump(file); + } else if(!strcmp(MSG_process_get_name(MSG_process_self()),"1")) + file = MSG_file_open(mount,FILENAME2, NULL); else if(!strcmp(MSG_process_get_name(MSG_process_self()),"2")) - file = MSG_file_open(mount,FILENAME3,"rw"); + file = MSG_file_open(mount,FILENAME3, NULL); else if(!strcmp(MSG_process_get_name(MSG_process_self()),"3")) - file = MSG_file_open(mount,FILENAME4,"rw"); + file = MSG_file_open(mount,FILENAME4, NULL); else xbt_die("FILENAME NOT DEFINED %s",MSG_process_get_name(MSG_process_self())); - XBT_INFO("\tOpen file '%s'",file->name); + XBT_INFO("\tOpen file '%s'",file->fullname); - read = MSG_file_read(ptr,10000000,sizeof(char*),file); // Read for 10Mo - XBT_INFO("\tHave read %8.1f on %s",read,file->name); + read = MSG_file_read(file, 10000000); // Read for 10MB + XBT_INFO("\tHave read %zu on %s",read,file->fullname); - write = MSG_file_write(ptr,100000,sizeof(char*),file); // Write for 100Ko - XBT_INFO("\tHave written %8.1f on %s",write,file->name); + write = MSG_file_write(file, 100000); // Write for 100KB + XBT_INFO("\tHave written %zu on %s",write,file->fullname); - read = MSG_file_read(ptr,10000000,sizeof(char*),file); // Read for 10Mo - XBT_INFO("\tHave read %8.1f on %s",read,file->name); + read = MSG_file_read(file, 110000); // Read for 110KB + XBT_INFO("\tHave read %zu on %s (of size %zu)",read,file->fullname, + MSG_file_get_size(file)); - MSG_file_stat(file,&stat); - XBT_INFO("\tFile stat %s Size %.1f",file->name,stat.size); - MSG_file_free_stat(&stat); - - XBT_INFO("\tClose file '%s'",file->name); + XBT_INFO("\tClose file '%s'",file->fullname); MSG_file_close(file); free(mount);