Function index

Thread services

Function name EVL Switch1 non-EVL2
evl_attach_self() N/A
evl_detach_self()
evl_get_self()
evl_switch_oob()
evl_switch_inband()
evl_is_inband()
evl_get_state()

Scheduler services

Function name EVL Switch1 non-EVL2
evl_get_schedattr()
evl_set_schedattr()
evl_sched_control()
evl_get_cpustate()

Clock services

Function name EVL Switch1 non-EVL2
evl_new_clock()
evl_read_clock()
evl_set_clock()
evl_get_clock_resolution()
evl_adjust_clock()
evl_sleep_until()
evl_udelay()

Timer services

Function name EVL Switch1 non-EVL2
evl_new_timer()
evl_set_timer()
evl_get_timer()

Mutex services

Function name EVL Switch1 non-EVL2
evl_new_mutex_any()
evl_new_mutex()
evl_open_mutex()
evl_lock_mutex() 4
evl_trylock_mutex() 4
evl_timedlock_mutex() 4
evl_unlock_mutex() 3
evl_get_mutex_ceiling()
evl_set_mutex_ceiling()
evl_close_mutex()

Event services

Function name EVL Switch1 non-EVL2
evl_new_event_any()
evl_new_event()
evl_open_event()
evl_wait_event() 4
evl_timedwait_event() 4
evl_signal_event() 4
evl_signal_thread() 4
evl_broadcast_event() 4
evl_close_event()

Flags services

Function name EVL Switch1 non-EVL2
evl_new_flags_any()
evl_new_flags()
evl_open_flags()
evl_wait_flags() 4
evl_timedwait_flags() 4
evl_trywait_flags() 4
evl_peek_flags()
evl_post_flags() 4
evl_close_flags()

Semaphore services

Function name EVL Switch1 non-EVL2
evl_new_sem_any()
evl_new_sem()
evl_open_sem()
evl_get_sem() 4
evl_timedget_sem() 4
evl_tryget_sem() 4
evl_peek_sem()
evl_put_sem() 4
evl_close_sem()

Polling services

Function name EVL Switch1 non-EVL2
evl_new_poll()
evl_add_pollfd()
evl_mod_pollfd()
evl_del_pollfd()
evl_poll_sem()
evl_timedpoll_sem()

Memory heap services

Function name EVL Switch1 non-EVL2
evl_init_heap()
evl_extend_heap()
evl_alloc_block() 3
evl_free_block() 3
evl_check_block() 3
evl_destroy_heap()
evl_heap_raw_size()
evl_heap_size()
evl_heap_used()

Proxy services

Function name EVL Switch1 non-EVL2
evl_new_proxy()
evl_send_proxy()
evl_vprint_proxy()
evl_print_proxy()
evl_printf()

Cross-buffer services

Function name EVL Switch1 non-EVL2
evl_new_xbuf()

I/O services

Function name EVL Switch1 non-EVL2
oob_read()
oob_write()
oob_ioctl()

Tube services

Function name EVL Switch1 non-EVL2
evl_init_tube()
evl_send_tube()
evl_receive_tube()
evl_get_tube_size()
evl_init_tube_rel()
evl_send_tube_rel()
evl_receive_tube_rel()
evl_get_tube_size_rel()

Misc routines

Function name EVL Switch1 non-EVL2
evl_init() N/A
evl_get_version()
evl_sigdebug_handler() N/A

1 Defines the stage switching behavior for out-of-band callers:

  • △ the core may switch the current stage, promoting the caller to out-of-band mode if running in-band at the time of the call.

  • ▽ the core may switch the current stage, demoting the caller to in-band mode if running out-of-band at the time of the call.

  • ⚊ the call does not entail any stage switch.

2 Whether this call is also available to non-EVL threads, i.e. threads not attached to the EVL core.

3 Except if the caller undergoes the SCHED_WEAK policy, in which case it is switched back to in-band mode if it has released the last EVL mutex it holds by the end of the call.

4 As an exception, if this synchronization object was statically initialized (EVL_*_INITIALIZER()), this routine may switch the caller to the in-band stage in order to finalize the construction before carrying out the requested operation. This is required only once in the object’s lifetime.


Last modified: Sat, 30 Nov 2019 17:24:30 CET