X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/26f60d943e887977ea88e6ef97d7c1dd47acda1c..ff7eafd19936822d22334fbf345c0b2ac9d56dc5:/src/simix/simcalls_generated_case.c diff --git a/src/simix/simcalls_generated_case.c b/src/simix/simcalls_generated_case.c index 45ef5a2ae2..dd2f3cf88a 100644 --- a/src/simix/simcalls_generated_case.c +++ b/src/simix/simcalls_generated_case.c @@ -5,7 +5,22 @@ * in src/simix/simcalls.in * *********************************************/ -case SIMCALL_HOST_GET_BY_NAME: + +#include "smx_private.h" +#ifdef HAVE_MC +#include "mc/mc_private.h" +#endif + +XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix_smurf); + +void SIMIX_simcall_pre(smx_simcall_t simcall, int value) +{ + XBT_DEBUG("Handling simcall %p: %s", simcall, SIMIX_simcall_name(simcall->call)); + SIMCALL_SET_MC_VALUE(simcall, value); + if (simcall->issuer->context->iwannadie && simcall->call != SIMCALL_PROCESS_CLEANUP) + return; + switch (simcall->call) { + case SIMCALL_HOST_GET_BY_NAME: simcall->result.dp = SIMIX_pre_host_get_by_name(simcall , simcall->args[0].cc); SIMIX_simcall_answer(simcall); break; @@ -293,12 +308,16 @@ case SIMCALL_PROCESS_GET_PROPERTIES: SIMIX_simcall_answer(simcall); break; +case SIMCALL_PROCESS_JOIN: + SIMIX_pre_process_join(simcall , (smx_process_t) simcall->args[0].dp, simcall->args[1].d); + break; + case SIMCALL_PROCESS_SLEEP: SIMIX_pre_process_sleep(simcall , simcall->args[0].d); break; case SIMCALL_PROCESS_ON_EXIT: - SIMIX_pre_process_on_exit(simcall , (smx_process_t) simcall->args[0].dp, (int_f_pvoid_t) simcall->args[1].fp, simcall->args[2].dp); + SIMIX_pre_process_on_exit(simcall , (smx_process_t) simcall->args[0].dp, (int_f_pvoid_pvoid_t) simcall->args[1].fp, simcall->args[2].dp); SIMIX_simcall_answer(simcall); break; @@ -343,25 +362,25 @@ case SIMCALL_RDV_GET_RECEIVER: break; case SIMCALL_COMM_IPROBE: - simcall->result.dp = SIMIX_pre_comm_iprobe(simcall , (smx_rdv_t) simcall->args[0].dp, simcall->args[1].i, simcall->args[2].i, (simix_match_func_t) simcall->args[3].fp, simcall->args[4].dp); + simcall->result.dp = SIMIX_pre_comm_iprobe(simcall , (smx_rdv_t) simcall->args[0].dp, simcall->args[1].i, simcall->args[2].i, simcall->args[3].i, (simix_match_func_t) simcall->args[4].fp, simcall->args[5].dp); SIMIX_simcall_answer(simcall); break; case SIMCALL_COMM_SEND: - SIMIX_pre_comm_send(simcall , (smx_rdv_t) simcall->args[0].dp, simcall->args[1].d, simcall->args[2].d, simcall->args[3].dp, simcall->args[4].sz, (simix_match_func_t) simcall->args[5].fp, simcall->args[6].dp, simcall->args[7].d); + SIMIX_pre_comm_send(simcall , (smx_process_t) simcall->args[0].dp, (smx_rdv_t) simcall->args[1].dp, simcall->args[2].d, simcall->args[3].d, simcall->args[4].dp, simcall->args[5].sz, (simix_match_func_t) simcall->args[6].fp, (simix_copy_data_func_t) simcall->args[7].fp, simcall->args[8].dp, simcall->args[9].d); break; case SIMCALL_COMM_ISEND: - simcall->result.dp = SIMIX_pre_comm_isend(simcall , (smx_rdv_t) simcall->args[0].dp, simcall->args[1].d, simcall->args[2].d, simcall->args[3].dp, simcall->args[4].sz, (simix_match_func_t) simcall->args[5].fp, (simix_clean_func_t) simcall->args[6].fp, simcall->args[7].dp, simcall->args[8].i); + simcall->result.dp = SIMIX_pre_comm_isend(simcall , (smx_process_t) simcall->args[0].dp, (smx_rdv_t) simcall->args[1].dp, simcall->args[2].d, simcall->args[3].d, simcall->args[4].dp, simcall->args[5].sz, (simix_match_func_t) simcall->args[6].fp, (simix_clean_func_t) simcall->args[7].fp, (simix_copy_data_func_t) simcall->args[8].fp, simcall->args[9].dp, simcall->args[10].i); SIMIX_simcall_answer(simcall); break; case SIMCALL_COMM_RECV: - SIMIX_pre_comm_recv(simcall , (smx_rdv_t) simcall->args[0].dp, simcall->args[1].dp, (size_t*) simcall->args[2].dp, (simix_match_func_t) simcall->args[3].fp, simcall->args[4].dp, simcall->args[5].d, simcall->args[6].d); + SIMIX_pre_comm_recv(simcall , (smx_rdv_t) simcall->args[0].dp, simcall->args[1].dp, (size_t*) simcall->args[2].dp, (simix_match_func_t) simcall->args[3].fp, (simix_copy_data_func_t) simcall->args[4].fp, simcall->args[5].dp, simcall->args[6].d, simcall->args[7].d); break; case SIMCALL_COMM_IRECV: - simcall->result.dp = SIMIX_pre_comm_irecv(simcall , (smx_rdv_t) simcall->args[0].dp, simcall->args[1].dp, (size_t*) simcall->args[2].dp, (simix_match_func_t) simcall->args[3].fp, simcall->args[4].dp, simcall->args[5].d); + simcall->result.dp = SIMIX_pre_comm_irecv(simcall , (smx_rdv_t) simcall->args[0].dp, simcall->args[1].dp, (size_t*) simcall->args[2].dp, (simix_match_func_t) simcall->args[3].fp, (simix_copy_data_func_t) simcall->args[4].fp, simcall->args[5].dp, simcall->args[6].d); SIMIX_simcall_answer(simcall); break; @@ -518,7 +537,7 @@ case SIMCALL_FILE_CLOSE: break; case SIMCALL_FILE_UNLINK: - simcall->result.i = SIMIX_pre_file_unlink(simcall , (smx_file_t) simcall->args[0].dp); + simcall->result.i = SIMIX_pre_file_unlink(simcall , (smx_file_t) simcall->args[0].dp, (smx_host_t) simcall->args[1].dp); SIMIX_simcall_answer(simcall); break; @@ -533,7 +552,7 @@ case SIMCALL_FILE_TELL: break; case SIMCALL_FILE_SEEK: - simcall->result.i = SIMIX_pre_file_seek(simcall , (smx_file_t) simcall->args[0].dp, simcall->args[1].sgsz, simcall->args[2].i); + simcall->result.i = SIMIX_pre_file_seek(simcall , (smx_file_t) simcall->args[0].dp, simcall->args[1].sgoff, simcall->args[2].i); SIMIX_simcall_answer(simcall); break; @@ -548,12 +567,12 @@ case SIMCALL_FILE_MOVE: break; case SIMCALL_STORAGE_GET_FREE_SIZE: - simcall->result.sgsz = SIMIX_pre_storage_get_free_size(simcall , simcall->args[0].cc); + simcall->result.sgsz = SIMIX_pre_storage_get_free_size(simcall , (smx_storage_t) simcall->args[0].dp); SIMIX_simcall_answer(simcall); break; case SIMCALL_STORAGE_GET_USED_SIZE: - simcall->result.sgsz = SIMIX_pre_storage_get_used_size(simcall , simcall->args[0].cc); + simcall->result.sgsz = SIMIX_pre_storage_get_used_size(simcall , (smx_storage_t) simcall->args[0].dp); SIMIX_simcall_answer(simcall); break; @@ -605,3 +624,22 @@ case SIMCALL_MC_RANDOM: break; #endif + + case NUM_SIMCALLS: + break; + case SIMCALL_NONE: + THROWF(arg_error,0,"Asked to do the noop syscall on %s@%s", + SIMIX_process_get_name(simcall->issuer), + SIMIX_host_get_name(SIMIX_process_get_host(simcall->issuer)) + ); + break; + + /* ****************************************************************************************** */ + /* TUTORIAL: New API */ + /* ****************************************************************************************** */ + case SIMCALL_NEW_API_INIT: + SIMIX_pre_new_api_fct(simcall); + break; + } +} + \ No newline at end of file