X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c5ad8ca1a68bbaa9152471c8d0eeb99d762f0d86..1f27be8ecd303fa9f686a2ca2ad1987cc4658180:/src/simix/smx_smurf_private.h diff --git a/src/simix/smx_smurf_private.h b/src/simix/smx_smurf_private.h index b8ab301c2d..0a914619b9 100644 --- a/src/simix/smx_smurf_private.h +++ b/src/simix/smx_smurf_private.h @@ -84,7 +84,12 @@ SIMCALL_ENUM_ELEMENT(SIMCALL_SEM_WOULD_BLOCK),\ SIMCALL_ENUM_ELEMENT(SIMCALL_SEM_ACQUIRE),\ SIMCALL_ENUM_ELEMENT(SIMCALL_SEM_ACQUIRE_TIMEOUT),\ SIMCALL_ENUM_ELEMENT(SIMCALL_SEM_GET_CAPACITY),\ -SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_READ) +SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_READ),\ +SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_WRITE),\ +SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_OPEN),\ +SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_CLOSE),\ +SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_STAT) + /* SIMCALL_COMM_IS_LATENCY_BOUNDED and SIMCALL_SET_CATEGORY make things complicated * because they are not always present */ @@ -503,8 +508,39 @@ typedef struct s_smx_simcall { } sem_get_capacity; struct { - char* name;; + void *ptr; + size_t size; + size_t nmemb; + smx_file_t stream; + size_t result; } file_read; + + struct { + const void *ptr; + size_t size; + size_t nmemb; + smx_file_t stream; + size_t result; + } file_write; + + struct { + const char* path; + const char* mode; + smx_file_t result; + } file_open; + + struct { + smx_file_t fp; + int result; + } file_close; + + struct { + int fd; + //Next should be struct stat* buf + void* buf; + int result; + } file_stat; + }; } s_smx_simcall_t, *smx_simcall_t; @@ -514,7 +550,7 @@ void SIMIX_simcall_push(smx_process_t self); void SIMIX_simcall_answer(smx_simcall_t); void SIMIX_simcall_pre(smx_simcall_t, int); void SIMIX_simcall_post(smx_action_t); -XBT_INLINE smx_simcall_t SIMIX_simcall_mine(void); +smx_simcall_t SIMIX_simcall_mine(void); const char *SIMIX_simcall_name(e_smx_simcall_t kind); #endif