SimGrid  3.14.159
Versatile Simulation of Distributed Systems
popping_private.h File Reference
#include <xbt/base.h>
#include <simgrid/simix.h>
#include "popping_enum.h"
#include "popping_accessors.h"

Classes

union  u_smx_scalar
 
struct  s_smx_simcall
 Represents a simcall to the kernel. More...
 

Macros

#define SIMCALL_SET_MC_VALUE(simcall, value)   ((simcall)->mc_value = (value))
 
#define SIMCALL_GET_MC_VALUE(simcall)   ((simcall)->mc_value)
 

Typedefs

typedef int(* simix_match_func_t) (void *, void *, smx_activity_t)
 
typedef void(* simix_copy_data_func_t) (smx_activity_t, void *, size_t)
 
typedef void(* simix_clean_func_t) (void *)
 
typedef void(* FPtr) (void)
 

Functions

void SIMIX_simcall_answer (smx_simcall_t simcall)
 
void SIMIX_simcall_handle (smx_simcall_t simcall, int value)
 (in kernel mode) unpack the simcall and activate the handler More...
 
void SIMIX_simcall_exit (smx_activity_t synchro)
 
const char * SIMIX_simcall_name (e_smx_simcall_t kind)
 returns a printable string representing a simcall More...
 
void SIMIX_run_kernel (std::function< void()> const *code)
 
void SIMIX_run_blocking (std::function< void()> const *code)
 Kernel code for run_blocking. More...
 

Variables

const char * simcall_names []
 Simcalls' names (generated from src/simix/simcalls.in) More...
 

Macro Definition Documentation

◆ SIMCALL_SET_MC_VALUE

#define SIMCALL_SET_MC_VALUE (   simcall,
  value 
)    ((simcall)->mc_value = (value))

◆ SIMCALL_GET_MC_VALUE

#define SIMCALL_GET_MC_VALUE (   simcall)    ((simcall)->mc_value)

Typedef Documentation

◆ simix_match_func_t

typedef int(* simix_match_func_t) (void *, void *, smx_activity_t)

◆ simix_copy_data_func_t

typedef void(* simix_copy_data_func_t) (smx_activity_t, void *, size_t)

◆ simix_clean_func_t

typedef void(* simix_clean_func_t) (void *)

◆ FPtr

typedef void(* FPtr) (void)

Function Documentation

◆ SIMIX_simcall_answer()

void SIMIX_simcall_answer ( smx_simcall_t  simcall)

◆ SIMIX_simcall_handle()

void SIMIX_simcall_handle ( smx_simcall_t  simcall,
int  value 
)

(in kernel mode) unpack the simcall and activate the handler

This function is generated from src/simix/simcalls.in

◆ SIMIX_simcall_exit()

void SIMIX_simcall_exit ( smx_activity_t  synchro)

◆ SIMIX_simcall_name()

const char* SIMIX_simcall_name ( e_smx_simcall_t  kind)

returns a printable string representing a simcall

◆ SIMIX_run_kernel()

void SIMIX_run_kernel ( std::function< void()> const *  code)

◆ SIMIX_run_blocking()

void SIMIX_run_blocking ( std::function< void()> const *  code)

Kernel code for run_blocking.

The implementtion looks a lot like SIMIX_run_kernel ^^

However, this run_blocking is blocking so the process will not be woken up until SIMIX_simcall_answer(simcall)is called by the kernel. This means thatcode` is responsible for doing this.

Variable Documentation

◆ simcall_names

const char* simcall_names[]

Simcalls' names (generated from src/simix/simcalls.in)