NewMadeleine

Documentation

nmad internal interfaces.

End-users are not supposed to use it. More...

Files

file  nm_core.h
 Definition for nmad core.
 
file  nm_core_inline.h
 Inline functions for nmad core.
 
file  nm_core_private.h
 Private definitions for nmad core.
 
file  nm_lock.h
 Locking interface used in nm core.
 
file  nm_log.h
 Basic primitives to display info & warnings.
 
file  nm_minidriver.h
 Definition of the driver interface.
 
file  nm_pkt_wrap.h
 This is the internal interface for packet wrappers, bellow the scheduler.
 
file  nm_tactics.h
 Tactics i.e.
 
file  nm_tags.h
 Private definitions for managing tags and structures indexed by tags.
 
file  nm_trace.h
 Definitions for traces.
 

Macros

#define NM_SYS(SYMBOL)   SYMBOL
 
#define NMAD_CONFIG_PIOMAN   0
 
#define NMAD_CONFIG_HWLOC   0
 
#define NMAD_CONFIG_PUKABI   0
 
#define NMAD_CONFIG_DEBUG   0
 
#define NMAD_CONFIG_NDEBUG   0
 
#define NMAD_CONFIG_SIMGRID   0
 
#define _tostring2(s)   #s
 
#define _tostring(s)   _tostring2(s)
 
#define NMAD_CONFIG_STRING
 

Functions

void nm_core_post_send (struct nm_pkt_wrap_s *p_pw, nm_gate_t p_gate, nm_trk_id_t trk_id)
 
void nm_core_post_recv (struct nm_pkt_wrap_s *p_pw, nm_gate_t p_gate, nm_trk_id_t trk_id, nm_drv_t p_drv)
 
__PUK_SYM_INTERNAL void nm_core_driver_flush (struct nm_core *p_core)
 
__PUK_SYM_INTERNAL void nm_core_driver_connect_wait_all (struct nm_core *p_core, struct nm_drv_s *p_drv)
 
__PUK_SYM_INTERNAL void nm_core_driver_close (struct nm_drv_s *p_drv)
 
__PUK_SYM_INTERNAL void nm_core_driver_destroy (struct nm_drv_s *p_drv)
 
__PUK_SYM_INTERNAL void nm_core_gate_destroy (struct nm_gate_s *p_gate)
 
__PUK_SYM_INTERNAL void nm_core_status_event (nm_core_t p_core, const struct nm_core_event_s *const p_event, struct nm_req_s *p_req)
 
__PUK_SYM_INTERNAL void nm_core_events_dispatch (struct nm_core *p_core)
 
__PUK_SYM_INTERNAL void nm_so_schedule_clean (struct nm_core *p_core)
 
__PUK_SYM_INTERNAL void nm_core_progress (struct nm_core *p_core)
 
__PUK_SYM_INTERNAL void nm_core_task_flush (struct nm_core *p_core)
 
__PUK_SYM_INTERNAL void nm_drv_refill_recv (nm_drv_t p_drv, nm_gate_t p_gate)
 
__PUK_SYM_INTERNAL void nm_core_gate_disconnect (struct nm_gate_s *p_gate)
 
__PUK_SYM_INTERNAL void nm_core_gate_disconnected (struct nm_core *p_core, nm_gate_t p_gate, nm_drv_t p_drv)
 
__PUK_SYM_INTERNAL void nm_core_matching_check (struct nm_core *p_core)
 
void nm_core_unpack_trigger_next (struct nm_core *p_core, struct nm_core_task_s *p_core_task)
 
__PUK_SYM_INTERNAL void nm_pw_send_prefetch (struct nm_pkt_wrap_s *p_pw)
 
__PUK_SYM_INTERNAL void nm_pw_send_unfetch (struct nm_pkt_wrap_s *p_pw)
 
void nm_pw_send_trigger (struct nm_pkt_wrap_s *p_pw)
 
void nm_pw_send_post_default (struct nm_pkt_wrap_s *p_pw)
 
void nm_pw_send_complete_default (struct nm_pkt_wrap_s *p_pw)
 
__PUK_SYM_INTERNAL void nm_pw_send_progress (struct nm_pkt_wrap_s *p_pw)
 
void nm_pw_send_post (struct nm_pkt_wrap_s *p_pw)
 
void nm_pw_send_poll (struct nm_pkt_wrap_s *p_pw)
 
__PUK_SYM_INTERNAL void nm_pw_send_wait (struct nm_pkt_wrap_s *p_pw)
 
__PUK_SYM_INTERNAL void nm_pw_recv_prefetch (struct nm_pkt_wrap_s *p_pw)
 
__PUK_SYM_INTERNAL void nm_pw_recv_unfetch (struct nm_pkt_wrap_s *p_pw)
 
__PUK_SYM_INTERNAL void nm_pw_recv_progress (struct nm_pkt_wrap_s *p_pw)
 
__PUK_SYM_INTERNAL void nm_pw_recv_wait (struct nm_pkt_wrap_s *p_pw)
 
void nm_pw_process_complete_send (struct nm_core *p_core, struct nm_pkt_wrap_s *p_pw)
 Process a complete successful outgoing request. More...
 
void nm_pw_process_complete_recv (struct nm_core *p_core, struct nm_pkt_wrap_s *p_pw)
 Process complete incoming request. More...
 
__PUK_SYM_INTERNAL void nm_rtr_handler (struct nm_pkt_wrap_s *p_rtr_pw, const struct nm_header_ctrl_rtr_s *p_header)
 
void nm_data_pkt_pack (struct nm_pkt_wrap_s *p_pw, nm_core_tag_t tag, nm_seq_t seq, const struct nm_data_s *p_data, nm_len_t chunk_offset, nm_len_t chunk_len, uint8_t flags)
 pack data from nm_data format to pkt format More...
 
void nm_data_pkt_unpack (const struct nm_data_s *p_data, const struct nm_header_pkt_data_s *h, const struct nm_pkt_wrap_s *p_pw, nm_len_t chunk_offset, nm_len_t chunk_len)
 unpack from pkt format to data format More...
 

Detailed Description

End-users are not supposed to use it.

The interface is not usable outside of nmad core.

Macro Definition Documentation

◆ _tostring

#define _tostring (   s)    _tostring2(s)

Definition at line 110 of file nm_private.h.

◆ _tostring2

#define _tostring2 (   s)    #s

Definition at line 109 of file nm_private.h.

◆ NM_SYS

#define NM_SYS (   SYMBOL)    SYMBOL

Definition at line 38 of file nm_private.h.

◆ NMAD_CONFIG_DEBUG

#define NMAD_CONFIG_DEBUG   0

Definition at line 94 of file nm_private.h.

◆ NMAD_CONFIG_HWLOC

#define NMAD_CONFIG_HWLOC   0

Definition at line 82 of file nm_private.h.

◆ NMAD_CONFIG_NDEBUG

#define NMAD_CONFIG_NDEBUG   0

Definition at line 100 of file nm_private.h.

◆ NMAD_CONFIG_PIOMAN

#define NMAD_CONFIG_PIOMAN   0

Definition at line 76 of file nm_private.h.

◆ NMAD_CONFIG_PUKABI

#define NMAD_CONFIG_PUKABI   0

Definition at line 88 of file nm_private.h.

◆ NMAD_CONFIG_SIMGRID

#define NMAD_CONFIG_SIMGRID   0

Definition at line 106 of file nm_private.h.

◆ NMAD_CONFIG_STRING

#define NMAD_CONFIG_STRING
Value:
" pioman = " _tostring(NMAD_CONFIG_PIOMAN) \
" pukabi = " _tostring(NMAD_CONFIG_PUKABI) \
" ndebug = " _tostring(NMAD_CONFIG_NDEBUG) \
#define NMAD_CONFIG_SIMGRID
Definition: nm_private.h:106
#define NMAD_CONFIG_DEBUG
Definition: nm_private.h:94
#define NMAD_CONFIG_NDEBUG
Definition: nm_private.h:100
#define NMAD_CONFIG_PIOMAN
Definition: nm_private.h:76
#define NMAD_CONFIG_HWLOC
Definition: nm_private.h:82
#define _tostring(s)
Definition: nm_private.h:110
#define NMAD_CONFIG_PUKABI
Definition: nm_private.h:88

Definition at line 112 of file nm_private.h.

Function Documentation

◆ nm_core_driver_close()

__PUK_SYM_INTERNAL void nm_core_driver_close ( struct nm_drv_s p_drv)

◆ nm_core_driver_connect_wait_all()

__PUK_SYM_INTERNAL void nm_core_driver_connect_wait_all ( struct nm_core p_core,
struct nm_drv_s p_drv 
)

◆ nm_core_driver_destroy()

__PUK_SYM_INTERNAL void nm_core_driver_destroy ( struct nm_drv_s p_drv)

◆ nm_core_driver_flush()

__PUK_SYM_INTERNAL void nm_core_driver_flush ( struct nm_core p_core)

◆ nm_core_events_dispatch()

__PUK_SYM_INTERNAL void nm_core_events_dispatch ( struct nm_core p_core)

◆ nm_core_gate_destroy()

__PUK_SYM_INTERNAL void nm_core_gate_destroy ( struct nm_gate_s p_gate)

◆ nm_core_gate_disconnect()

__PUK_SYM_INTERNAL void nm_core_gate_disconnect ( struct nm_gate_s p_gate)

◆ nm_core_gate_disconnected()

__PUK_SYM_INTERNAL void nm_core_gate_disconnected ( struct nm_core p_core,
nm_gate_t  p_gate,
nm_drv_t  p_drv 
)

◆ nm_core_matching_check()

__PUK_SYM_INTERNAL void nm_core_matching_check ( struct nm_core p_core)

◆ nm_core_post_recv()

void nm_core_post_recv ( struct nm_pkt_wrap_s p_pw,
nm_gate_t  p_gate,
nm_trk_id_t  trk_id,
nm_drv_t  p_drv 
)

◆ nm_core_post_send()

void nm_core_post_send ( struct nm_pkt_wrap_s p_pw,
nm_gate_t  p_gate,
nm_trk_id_t  trk_id 
)

◆ nm_core_progress()

__PUK_SYM_INTERNAL void nm_core_progress ( struct nm_core p_core)

◆ nm_core_status_event()

__PUK_SYM_INTERNAL void nm_core_status_event ( nm_core_t  p_core,
const struct nm_core_event_s *const  p_event,
struct nm_req_s p_req 
)

◆ nm_core_task_flush()

__PUK_SYM_INTERNAL void nm_core_task_flush ( struct nm_core p_core)

Referenced by nm_core_task_enqueue().

Here is the caller graph for this function:

◆ nm_core_unpack_trigger_next()

void nm_core_unpack_trigger_next ( struct nm_core p_core,
struct nm_core_task_s p_core_task 
)

◆ nm_data_pkt_pack()

void nm_data_pkt_pack ( struct nm_pkt_wrap_s p_pw,
nm_core_tag_t  tag,
nm_seq_t  seq,
const struct nm_data_s p_data,
nm_len_t  chunk_offset,
nm_len_t  chunk_len,
uint8_t  flags 
)

pack data from nm_data format to pkt format

◆ nm_data_pkt_unpack()

void nm_data_pkt_unpack ( const struct nm_data_s p_data,
const struct nm_header_pkt_data_s h,
const struct nm_pkt_wrap_s p_pw,
nm_len_t  chunk_offset,
nm_len_t  chunk_len 
)

unpack from pkt format to data format

◆ nm_drv_refill_recv()

__PUK_SYM_INTERNAL void nm_drv_refill_recv ( nm_drv_t  p_drv,
nm_gate_t  p_gate 
)

◆ nm_pw_process_complete_recv()

void nm_pw_process_complete_recv ( struct nm_core p_core,
struct nm_pkt_wrap_s p_pw 
)

Process complete incoming request.

◆ nm_pw_process_complete_send()

void nm_pw_process_complete_send ( struct nm_core p_core,
struct nm_pkt_wrap_s p_pw 
)

Process a complete successful outgoing request.

◆ nm_pw_recv_prefetch()

__PUK_SYM_INTERNAL void nm_pw_recv_prefetch ( struct nm_pkt_wrap_s p_pw)

◆ nm_pw_recv_progress()

__PUK_SYM_INTERNAL void nm_pw_recv_progress ( struct nm_pkt_wrap_s p_pw)

◆ nm_pw_recv_unfetch()

__PUK_SYM_INTERNAL void nm_pw_recv_unfetch ( struct nm_pkt_wrap_s p_pw)

◆ nm_pw_recv_wait()

__PUK_SYM_INTERNAL void nm_pw_recv_wait ( struct nm_pkt_wrap_s p_pw)

◆ nm_pw_send_complete_default()

void nm_pw_send_complete_default ( struct nm_pkt_wrap_s p_pw)

◆ nm_pw_send_poll()

void nm_pw_send_poll ( struct nm_pkt_wrap_s p_pw)

◆ nm_pw_send_post()

void nm_pw_send_post ( struct nm_pkt_wrap_s p_pw)

◆ nm_pw_send_post_default()

void nm_pw_send_post_default ( struct nm_pkt_wrap_s p_pw)

◆ nm_pw_send_prefetch()

__PUK_SYM_INTERNAL void nm_pw_send_prefetch ( struct nm_pkt_wrap_s p_pw)

◆ nm_pw_send_progress()

__PUK_SYM_INTERNAL void nm_pw_send_progress ( struct nm_pkt_wrap_s p_pw)

◆ nm_pw_send_trigger()

void nm_pw_send_trigger ( struct nm_pkt_wrap_s p_pw)

◆ nm_pw_send_unfetch()

__PUK_SYM_INTERNAL void nm_pw_send_unfetch ( struct nm_pkt_wrap_s p_pw)

◆ nm_pw_send_wait()

__PUK_SYM_INTERNAL void nm_pw_send_wait ( struct nm_pkt_wrap_s p_pw)

◆ nm_rtr_handler()

__PUK_SYM_INTERNAL void nm_rtr_handler ( struct nm_pkt_wrap_s p_rtr_pw,
const struct nm_header_ctrl_rtr_s p_header 
)

◆ nm_so_schedule_clean()

__PUK_SYM_INTERNAL void nm_so_schedule_clean ( struct nm_core p_core)