X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/af0b5e9494ca8988c8dd7d3874c3c7a400a63172..358b3ac1d1ce9e2cfcc7583271916ebd96eff6da:/src/simix/smx_io_private.h diff --git a/src/simix/smx_io_private.h b/src/simix/smx_io_private.h index 83cd90257d..0f9bfd328a 100644 --- a/src/simix/smx_io_private.h +++ b/src/simix/smx_io_private.h @@ -1,36 +1,30 @@ -/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2007-2017. The SimGrid Team. All rights reserved. */ /* 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. */ -#ifndef _SIMIX_IO_PRIVATE_H -#define _SIMIX_IO_PRIVATE_H - -#include "simix/datatypes.h" -#include "smx_smurf_private.h" - -/** @brief File datatype */ -typedef struct s_smx_file { - char *name; /**< @brief host name if any */ - void *simdata; - void *data; /**< @brief user data */ -} s_smx_file_t; - -void SIMIX_pre_file_read(smx_simcall_t simcall); -void SIMIX_pre_file_write(smx_simcall_t simcall); -void SIMIX_pre_file_open(smx_simcall_t simcall); -void SIMIX_pre_file_close(smx_simcall_t simcall); -void SIMIX_pre_file_stat(smx_simcall_t simcall); - -smx_action_t SIMIX_file_read(smx_process_t process, const char* storage, void* ptr, size_t size, size_t nmemb, smx_file_t stream); -smx_action_t SIMIX_file_write(smx_process_t process, const char* storage, const void* ptr, size_t size, size_t nmemb, smx_file_t stream); -smx_action_t SIMIX_file_open(smx_process_t process, const char* storage, const char* path, const char* mode); -smx_action_t SIMIX_file_close(smx_process_t process, const char* storage, smx_file_t fp); -smx_action_t SIMIX_file_stat(smx_process_t process, const char* storage, int fd, void* buf); - -void SIMIX_post_io(smx_action_t action); -void SIMIX_io_destroy(smx_action_t action); -void SIMIX_io_finish(smx_action_t action); +#ifndef SIMIX_IO_PRIVATE_H +#define SIMIX_IO_PRIVATE_H + +#include + +#include "simgrid/simix.h" +#include "popping_private.h" + +XBT_PRIVATE smx_activity_t SIMIX_file_read(smx_file_t fd, sg_size_t size, sg_host_t host); +XBT_PRIVATE smx_activity_t SIMIX_file_write(smx_file_t fd, sg_size_t size, sg_host_t host); +XBT_PRIVATE smx_activity_t SIMIX_file_open(const char* fullpath, sg_host_t host); +XBT_PRIVATE smx_activity_t SIMIX_file_close(smx_file_t fd, sg_host_t host); +XBT_PRIVATE int SIMIX_file_unlink(smx_file_t fd, sg_host_t host); +XBT_PRIVATE sg_size_t SIMIX_file_get_size(smx_actor_t process, smx_file_t fd); +XBT_PRIVATE sg_size_t SIMIX_file_tell(smx_actor_t process, smx_file_t fd); +XBT_PRIVATE xbt_dynar_t SIMIX_file_get_info(smx_actor_t process, smx_file_t fd); +XBT_PRIVATE int SIMIX_file_seek(smx_actor_t process, smx_file_t fd, sg_offset_t offset, int origin); +XBT_PRIVATE int SIMIX_file_move(smx_actor_t process, smx_file_t fd, const char* fullpath); + +XBT_PRIVATE xbt_dict_t SIMIX_storage_get_properties(smx_storage_t storage); + +XBT_PRIVATE void SIMIX_io_destroy(smx_activity_t synchro); +XBT_PRIVATE void SIMIX_io_finish(smx_activity_t synchro); #endif