Flecs v3.2
A fast entity component system (ECS) for C & C++
Loading...
Searching...
No Matches
OS API

Interface for providing OS specific functionality. More...

Classes

struct  ecs_time_t
 
struct  ecs_os_api_t
 

Macros

#define ecs_os_malloc(size)   ecs_os_api.malloc_(size)
 
#define ecs_os_free(ptr)   ecs_os_api.free_(ptr)
 
#define ecs_os_realloc(ptr, size)   ecs_os_api.realloc_(ptr, size)
 
#define ecs_os_calloc(size)   ecs_os_api.calloc_(size)
 
#define ecs_os_alloca(size)   alloca((size_t)(size))
 
#define ecs_os_malloc_t(T)   ECS_CAST(T*, ecs_os_malloc(ECS_SIZEOF(T)))
 
#define ecs_os_malloc_n(T, count)   ECS_CAST(T*, ecs_os_malloc(ECS_SIZEOF(T) * (count)))
 
#define ecs_os_calloc_t(T)   ECS_CAST(T*, ecs_os_calloc(ECS_SIZEOF(T)))
 
#define ecs_os_calloc_n(T, count)   ECS_CAST(T*, ecs_os_calloc(ECS_SIZEOF(T) * (count)))
 
#define ecs_os_realloc_t(ptr, T)   ECS_CAST(T*, ecs_os_realloc([ptr, ECS_SIZEOF(T)))
 
#define ecs_os_realloc_n(ptr, T, count)   ECS_CAST(T*, ecs_os_realloc(ptr, ECS_SIZEOF(T) * (count)))
 
#define ecs_os_alloca_t(T)   ECS_CAST(T*, ecs_os_alloca(ECS_SIZEOF(T)))
 
#define ecs_os_alloca_n(T, count)   ECS_CAST(T*, ecs_os_alloca(ECS_SIZEOF(T) * (count)))
 
#define ecs_os_strdup(str)   ecs_os_api.strdup_(str)
 
#define ecs_os_strlen(str)   (ecs_size_t)strlen(str)
 
#define ecs_os_strncmp(str1, str2, num)   strncmp(str1, str2, (size_t)(num))
 
#define ecs_os_memcmp(ptr1, ptr2, num)   memcmp(ptr1, ptr2, (size_t)(num))
 
#define ecs_os_memcpy(ptr1, ptr2, num)   memcpy(ptr1, ptr2, (size_t)(num))
 
#define ecs_os_memset(ptr, value, num)   memset(ptr, value, (size_t)(num))
 
#define ecs_os_memmove(dst, src, size)   memmove(dst, src, (size_t)(size))
 
#define ecs_os_memcpy_t(ptr1, ptr2, T)   ecs_os_memcpy(ptr1, ptr2, ECS_SIZEOF(T))
 
#define ecs_os_memcpy_n(ptr1, ptr2, T, count)   ecs_os_memcpy(ptr1, ptr2, ECS_SIZEOF(T) * count)
 
#define ecs_os_memcmp_t(ptr1, ptr2, T)   ecs_os_memcmp(ptr1, ptr2, ECS_SIZEOF(T))
 
#define ecs_os_strcmp(str1, str2)   strcmp(str1, str2)
 
#define ecs_os_memset_t(ptr, value, T)   ecs_os_memset(ptr, value, ECS_SIZEOF(T))
 
#define ecs_os_memset_n(ptr, value, T, count)   ecs_os_memset(ptr, value, ECS_SIZEOF(T) * count)
 
#define ecs_os_zeromem(ptr)   ecs_os_memset(ptr, 0, ECS_SIZEOF(*ptr))
 
#define ecs_os_memdup_t(ptr, T)   ecs_os_memdup(ptr, ECS_SIZEOF(T))
 
#define ecs_os_memdup_n(ptr, T, count)   ecs_os_memdup(ptr, ECS_SIZEOF(T) * count)
 
#define ecs_offset(ptr, T, index)    ECS_CAST(T*, ECS_OFFSET(ptr, ECS_SIZEOF(T) * index))
 
#define ecs_os_strcat(str1, str2)   strcat(str1, str2)
 
#define ecs_os_sprintf(ptr, ...)   sprintf(ptr, __VA_ARGS__)
 
#define ecs_os_vsprintf(ptr, fmt, args)   vsprintf(ptr, fmt, args)
 
#define ecs_os_strcpy(str1, str2)   strcpy(str1, str2)
 
#define ecs_os_strncpy(str1, str2, num)   strncpy(str1, str2, (size_t)(num))
 
#define ecs_os_fopen(result, file, mode)   (*(result)) = fopen(file, mode)
 
#define ecs_os_thread_new(callback, param)   ecs_os_api.thread_new_(callback, param)
 
#define ecs_os_thread_join(thread)   ecs_os_api.thread_join_(thread)
 
#define ecs_os_thread_self()   ecs_os_api.thread_self_()
 
#define ecs_os_ainc(value)   ecs_os_api.ainc_(value)
 
#define ecs_os_adec(value)   ecs_os_api.adec_(value)
 
#define ecs_os_lainc(value)   ecs_os_api.lainc_(value)
 
#define ecs_os_ladec(value)   ecs_os_api.ladec_(value)
 
#define ecs_os_mutex_new()   ecs_os_api.mutex_new_()
 
#define ecs_os_mutex_free(mutex)   ecs_os_api.mutex_free_(mutex)
 
#define ecs_os_mutex_lock(mutex)   ecs_os_api.mutex_lock_(mutex)
 
#define ecs_os_mutex_unlock(mutex)   ecs_os_api.mutex_unlock_(mutex)
 
#define ecs_os_cond_new()   ecs_os_api.cond_new_()
 
#define ecs_os_cond_free(cond)   ecs_os_api.cond_free_(cond)
 
#define ecs_os_cond_signal(cond)   ecs_os_api.cond_signal_(cond)
 
#define ecs_os_cond_broadcast(cond)   ecs_os_api.cond_broadcast_(cond)
 
#define ecs_os_cond_wait(cond, mutex)   ecs_os_api.cond_wait_(cond, mutex)
 
#define ecs_os_sleep(sec, nanosec)   ecs_os_api.sleep_(sec, nanosec)
 
#define ecs_os_now()   ecs_os_api.now_()
 
#define ecs_os_get_time(time_out)   ecs_os_api.get_time_(time_out)
 
#define ecs_os_inc(v)   (++(*v))
 
#define ecs_os_linc(v)   (++(*v))
 
#define ecs_os_dec(v)   (--(*v))
 
#define ecs_os_ldec(v)   (--(*v))
 
#define ecs_os_abort()   ecs_os_api.abort_()
 
#define ecs_os_dlopen(libname)   ecs_os_api.dlopen_(libname)
 
#define ecs_os_dlproc(lib, procname)   ecs_os_api.dlproc_(lib, procname)
 
#define ecs_os_dlclose(lib)   ecs_os_api.dlclose_(lib)
 
#define ecs_os_module_to_dl(lib)   ecs_os_api.module_to_dl_(lib)
 
#define ecs_os_module_to_etc(lib)   ecs_os_api.module_to_etc_(lib)
 

Typedefs

typedef struct ecs_time_t ecs_time_t
 
typedef uintptr_t ecs_os_thread_t
 
typedef uintptr_t ecs_os_cond_t
 
typedef uintptr_t ecs_os_mutex_t
 
typedef uintptr_t ecs_os_dl_t
 
typedef uintptr_t ecs_os_sock_t
 
typedef uint64_t ecs_os_thread_id_t
 
typedef void(* ecs_os_proc_t) (void)
 
typedef void(* ecs_os_api_init_t) (void)
 
typedef void(* ecs_os_api_fini_t) (void)
 
typedef void *(* ecs_os_api_malloc_t) (ecs_size_t size)
 
typedef void(* ecs_os_api_free_t) (void *ptr)
 
typedef void *(* ecs_os_api_realloc_t) (void *ptr, ecs_size_t size)
 
typedef void *(* ecs_os_api_calloc_t) (ecs_size_t size)
 
typedef char *(* ecs_os_api_strdup_t) (const char *str)
 
typedef void *(* ecs_os_thread_callback_t) (void *)
 
typedef ecs_os_thread_t(* ecs_os_api_thread_new_t) (ecs_os_thread_callback_t callback, void *param)
 
typedef void *(* ecs_os_api_thread_join_t) (ecs_os_thread_t thread)
 
typedef ecs_os_thread_id_t(* ecs_os_api_thread_self_t) (void)
 
typedef int32_t(* ecs_os_api_ainc_t) (int32_t *value)
 
typedef int64_t(* ecs_os_api_lainc_t) (int64_t *value)
 
typedef ecs_os_mutex_t(* ecs_os_api_mutex_new_t) (void)
 
typedef void(* ecs_os_api_mutex_lock_t) (ecs_os_mutex_t mutex)
 
typedef void(* ecs_os_api_mutex_unlock_t) (ecs_os_mutex_t mutex)
 
typedef void(* ecs_os_api_mutex_free_t) (ecs_os_mutex_t mutex)
 
typedef ecs_os_cond_t(* ecs_os_api_cond_new_t) (void)
 
typedef void(* ecs_os_api_cond_free_t) (ecs_os_cond_t cond)
 
typedef void(* ecs_os_api_cond_signal_t) (ecs_os_cond_t cond)
 
typedef void(* ecs_os_api_cond_broadcast_t) (ecs_os_cond_t cond)
 
typedef void(* ecs_os_api_cond_wait_t) (ecs_os_cond_t cond, ecs_os_mutex_t mutex)
 
typedef void(* ecs_os_api_sleep_t) (int32_t sec, int32_t nanosec)
 
typedef void(* ecs_os_api_enable_high_timer_resolution_t) (bool enable)
 
typedef void(* ecs_os_api_get_time_t) (ecs_time_t *time_out)
 
typedef uint64_t(* ecs_os_api_now_t) (void)
 
typedef void(* ecs_os_api_log_t) (int32_t level, const char *file, int32_t line, const char *msg)
 
typedef void(* ecs_os_api_abort_t) (void)
 
typedef ecs_os_dl_t(* ecs_os_api_dlopen_t) (const char *libname)
 
typedef ecs_os_proc_t(* ecs_os_api_dlproc_t) (ecs_os_dl_t lib, const char *procname)
 
typedef void(* ecs_os_api_dlclose_t) (ecs_os_dl_t lib)
 
typedef char *(* ecs_os_api_module_to_path_t) (const char *module_id)
 
typedef struct ecs_os_api_t ecs_os_api_t
 

Functions

FLECS_API void ecs_os_init (void)
 
FLECS_API void ecs_os_fini (void)
 
FLECS_API void ecs_os_set_api (ecs_os_api_t *os_api)
 
FLECS_API ecs_os_api_t ecs_os_get_api (void)
 
FLECS_API void ecs_os_set_api_defaults (void)
 
FLECS_API void ecs_os_dbg (const char *file, int32_t line, const char *msg)
 
FLECS_API void ecs_os_trace (const char *file, int32_t line, const char *msg)
 
FLECS_API void ecs_os_warn (const char *file, int32_t line, const char *msg)
 
FLECS_API void ecs_os_err (const char *file, int32_t line, const char *msg)
 
FLECS_API void ecs_os_fatal (const char *file, int32_t line, const char *msg)
 
FLECS_API const char * ecs_os_strerror (int err)
 
FLECS_API void ecs_os_strset (char **str, const char *value)
 
FLECS_API void ecs_sleepf (double t)
 
FLECS_API double ecs_time_measure (ecs_time_t *start)
 
FLECS_API ecs_time_t ecs_time_sub (ecs_time_t t1, ecs_time_t t2)
 
FLECS_API double ecs_time_to_double (ecs_time_t t)
 
FLECS_API void * ecs_os_memdup (const void *src, ecs_size_t size)
 
FLECS_API bool ecs_os_has_heap (void)
 Are heap functions available?
 
FLECS_API bool ecs_os_has_threading (void)
 Are threading functions available?
 
FLECS_API bool ecs_os_has_time (void)
 Are time functions available?
 
FLECS_API bool ecs_os_has_logging (void)
 Are logging functions available?
 
FLECS_API bool ecs_os_has_dl (void)
 Are dynamic library functions available?
 
FLECS_API bool ecs_os_has_modules (void)
 Are module path functions available?
 

Variables

int64_t ecs_os_api_malloc_count
 
int64_t ecs_os_api_realloc_count
 
int64_t ecs_os_api_calloc_count
 
int64_t ecs_os_api_free_count
 
FLECS_API ecs_os_api_t ecs_os_api
 

Detailed Description

Interface for providing OS specific functionality.

Macro Definition Documentation

◆ ecs_offset

#define ecs_offset (   ptr,
  T,
  index 
)     ECS_CAST(T*, ECS_OFFSET(ptr, ECS_SIZEOF(T) * index))

Definition at line 372 of file os_api.h.

◆ ecs_os_abort

#define ecs_os_abort ( )    ecs_os_api.abort_()

Definition at line 468 of file os_api.h.

◆ ecs_os_adec

#define ecs_os_adec (   value)    ecs_os_api.adec_(value)

Definition at line 411 of file os_api.h.

◆ ecs_os_ainc

#define ecs_os_ainc (   value)    ecs_os_api.ainc_(value)

Definition at line 410 of file os_api.h.

◆ ecs_os_alloca

#define ecs_os_alloca (   size)    alloca((size_t)(size))

Definition at line 326 of file os_api.h.

◆ ecs_os_alloca_n

#define ecs_os_alloca_n (   T,
  count 
)    ECS_CAST(T*, ecs_os_alloca(ECS_SIZEOF(T) * (count)))

Definition at line 337 of file os_api.h.

◆ ecs_os_alloca_t

#define ecs_os_alloca_t (   T)    ECS_CAST(T*, ecs_os_alloca(ECS_SIZEOF(T)))

Definition at line 336 of file os_api.h.

◆ ecs_os_calloc

#define ecs_os_calloc (   size)    ecs_os_api.calloc_(size)

Definition at line 321 of file os_api.h.

◆ ecs_os_calloc_n

#define ecs_os_calloc_n (   T,
  count 
)    ECS_CAST(T*, ecs_os_calloc(ECS_SIZEOF(T) * (count)))

Definition at line 332 of file os_api.h.

◆ ecs_os_calloc_t

#define ecs_os_calloc_t (   T)    ECS_CAST(T*, ecs_os_calloc(ECS_SIZEOF(T)))

Definition at line 331 of file os_api.h.

◆ ecs_os_cond_broadcast

#define ecs_os_cond_broadcast (   cond)    ecs_os_api.cond_broadcast_(cond)

Definition at line 425 of file os_api.h.

◆ ecs_os_cond_free

#define ecs_os_cond_free (   cond)    ecs_os_api.cond_free_(cond)

Definition at line 423 of file os_api.h.

◆ ecs_os_cond_new

#define ecs_os_cond_new ( )    ecs_os_api.cond_new_()

Definition at line 422 of file os_api.h.

◆ ecs_os_cond_signal

#define ecs_os_cond_signal (   cond)    ecs_os_api.cond_signal_(cond)

Definition at line 424 of file os_api.h.

◆ ecs_os_cond_wait

#define ecs_os_cond_wait (   cond,
  mutex 
)    ecs_os_api.cond_wait_(cond, mutex)

Definition at line 426 of file os_api.h.

◆ ecs_os_dec

#define ecs_os_dec (   v)    (--(*v))

Definition at line 463 of file os_api.h.

◆ ecs_os_dlclose

#define ecs_os_dlclose (   lib)    ecs_os_api.dlclose_(lib)

Definition at line 473 of file os_api.h.

◆ ecs_os_dlopen

#define ecs_os_dlopen (   libname)    ecs_os_api.dlopen_(libname)

Definition at line 471 of file os_api.h.

◆ ecs_os_dlproc

#define ecs_os_dlproc (   lib,
  procname 
)    ecs_os_api.dlproc_(lib, procname)

Definition at line 472 of file os_api.h.

◆ ecs_os_fopen

#define ecs_os_fopen (   result,
  file,
  mode 
)    (*(result)) = fopen(file, mode)

Definition at line 401 of file os_api.h.

◆ ecs_os_free

#define ecs_os_free (   ptr)    ecs_os_api.free_(ptr)

Definition at line 315 of file os_api.h.

◆ ecs_os_get_time

#define ecs_os_get_time (   time_out)    ecs_os_api.get_time_(time_out)

Definition at line 431 of file os_api.h.

◆ ecs_os_inc

#define ecs_os_inc (   v)    (++(*v))

Definition at line 461 of file os_api.h.

◆ ecs_os_ladec

#define ecs_os_ladec (   value)    ecs_os_api.ladec_(value)

Definition at line 413 of file os_api.h.

◆ ecs_os_lainc

#define ecs_os_lainc (   value)    ecs_os_api.lainc_(value)

Definition at line 412 of file os_api.h.

◆ ecs_os_ldec

#define ecs_os_ldec (   v)    (--(*v))

Definition at line 464 of file os_api.h.

◆ ecs_os_linc

#define ecs_os_linc (   v)    (++(*v))

Definition at line 462 of file os_api.h.

◆ ecs_os_malloc

#define ecs_os_malloc (   size)    ecs_os_api.malloc_(size)

Definition at line 312 of file os_api.h.

◆ ecs_os_malloc_n

#define ecs_os_malloc_n (   T,
  count 
)    ECS_CAST(T*, ecs_os_malloc(ECS_SIZEOF(T) * (count)))

Definition at line 330 of file os_api.h.

◆ ecs_os_malloc_t

#define ecs_os_malloc_t (   T)    ECS_CAST(T*, ecs_os_malloc(ECS_SIZEOF(T)))

Definition at line 329 of file os_api.h.

◆ ecs_os_memcmp

#define ecs_os_memcmp (   ptr1,
  ptr2,
  num 
)    memcmp(ptr1, ptr2, (size_t)(num))

Definition at line 354 of file os_api.h.

◆ ecs_os_memcmp_t

#define ecs_os_memcmp_t (   ptr1,
  ptr2,
 
)    ecs_os_memcmp(ptr1, ptr2, ECS_SIZEOF(T))

Definition at line 362 of file os_api.h.

◆ ecs_os_memcpy

#define ecs_os_memcpy (   ptr1,
  ptr2,
  num 
)    memcpy(ptr1, ptr2, (size_t)(num))

Definition at line 355 of file os_api.h.

◆ ecs_os_memcpy_n

#define ecs_os_memcpy_n (   ptr1,
  ptr2,
  T,
  count 
)    ecs_os_memcpy(ptr1, ptr2, ECS_SIZEOF(T) * count)

Definition at line 361 of file os_api.h.

◆ ecs_os_memcpy_t

#define ecs_os_memcpy_t (   ptr1,
  ptr2,
 
)    ecs_os_memcpy(ptr1, ptr2, ECS_SIZEOF(T))

Definition at line 360 of file os_api.h.

◆ ecs_os_memdup_n

#define ecs_os_memdup_n (   ptr,
  T,
  count 
)    ecs_os_memdup(ptr, ECS_SIZEOF(T) * count)

Definition at line 370 of file os_api.h.

◆ ecs_os_memdup_t

#define ecs_os_memdup_t (   ptr,
 
)    ecs_os_memdup(ptr, ECS_SIZEOF(T))

Definition at line 369 of file os_api.h.

◆ ecs_os_memmove

#define ecs_os_memmove (   dst,
  src,
  size 
)    memmove(dst, src, (size_t)(size))

Definition at line 357 of file os_api.h.

◆ ecs_os_memset

#define ecs_os_memset (   ptr,
  value,
  num 
)    memset(ptr, value, (size_t)(num))

Definition at line 356 of file os_api.h.

◆ ecs_os_memset_n

#define ecs_os_memset_n (   ptr,
  value,
  T,
  count 
)    ecs_os_memset(ptr, value, ECS_SIZEOF(T) * count)

Definition at line 366 of file os_api.h.

◆ ecs_os_memset_t

#define ecs_os_memset_t (   ptr,
  value,
 
)    ecs_os_memset(ptr, value, ECS_SIZEOF(T))

Definition at line 365 of file os_api.h.

◆ ecs_os_module_to_dl

#define ecs_os_module_to_dl (   lib)    ecs_os_api.module_to_dl_(lib)

Definition at line 476 of file os_api.h.

◆ ecs_os_module_to_etc

#define ecs_os_module_to_etc (   lib)    ecs_os_api.module_to_etc_(lib)

Definition at line 477 of file os_api.h.

◆ ecs_os_mutex_free

#define ecs_os_mutex_free (   mutex)    ecs_os_api.mutex_free_(mutex)

Definition at line 417 of file os_api.h.

◆ ecs_os_mutex_lock

#define ecs_os_mutex_lock (   mutex)    ecs_os_api.mutex_lock_(mutex)

Definition at line 418 of file os_api.h.

◆ ecs_os_mutex_new

#define ecs_os_mutex_new ( )    ecs_os_api.mutex_new_()

Definition at line 416 of file os_api.h.

◆ ecs_os_mutex_unlock

#define ecs_os_mutex_unlock (   mutex)    ecs_os_api.mutex_unlock_(mutex)

Definition at line 419 of file os_api.h.

◆ ecs_os_now

#define ecs_os_now ( )    ecs_os_api.now_()

Definition at line 430 of file os_api.h.

◆ ecs_os_realloc

#define ecs_os_realloc (   ptr,
  size 
)    ecs_os_api.realloc_(ptr, size)

Definition at line 318 of file os_api.h.

◆ ecs_os_realloc_n

#define ecs_os_realloc_n (   ptr,
  T,
  count 
)    ECS_CAST(T*, ecs_os_realloc(ptr, ECS_SIZEOF(T) * (count)))

Definition at line 335 of file os_api.h.

◆ ecs_os_realloc_t

#define ecs_os_realloc_t (   ptr,
 
)    ECS_CAST(T*, ecs_os_realloc([ptr, ECS_SIZEOF(T)))

Definition at line 334 of file os_api.h.

◆ ecs_os_sleep

#define ecs_os_sleep (   sec,
  nanosec 
)    ecs_os_api.sleep_(sec, nanosec)

Definition at line 429 of file os_api.h.

◆ ecs_os_sprintf

#define ecs_os_sprintf (   ptr,
  ... 
)    sprintf(ptr, __VA_ARGS__)

Definition at line 387 of file os_api.h.

◆ ecs_os_strcat

#define ecs_os_strcat (   str1,
  str2 
)    strcat(str1, str2)

Definition at line 386 of file os_api.h.

◆ ecs_os_strcmp

#define ecs_os_strcmp (   str1,
  str2 
)    strcmp(str1, str2)

Definition at line 364 of file os_api.h.

◆ ecs_os_strcpy

#define ecs_os_strcpy (   str1,
  str2 
)    strcpy(str1, str2)

Definition at line 389 of file os_api.h.

◆ ecs_os_strdup

#define ecs_os_strdup (   str)    ecs_os_api.strdup_(str)

Definition at line 341 of file os_api.h.

◆ ecs_os_strlen

#define ecs_os_strlen (   str)    (ecs_size_t)strlen(str)

Definition at line 352 of file os_api.h.

◆ ecs_os_strncmp

#define ecs_os_strncmp (   str1,
  str2,
  num 
)    strncmp(str1, str2, (size_t)(num))

Definition at line 353 of file os_api.h.

◆ ecs_os_strncpy

#define ecs_os_strncpy (   str1,
  str2,
  num 
)    strncpy(str1, str2, (size_t)(num))

Definition at line 393 of file os_api.h.

◆ ecs_os_thread_join

#define ecs_os_thread_join (   thread)    ecs_os_api.thread_join_(thread)

Definition at line 406 of file os_api.h.

◆ ecs_os_thread_new

#define ecs_os_thread_new (   callback,
  param 
)    ecs_os_api.thread_new_(callback, param)

Definition at line 405 of file os_api.h.

◆ ecs_os_thread_self

#define ecs_os_thread_self ( )    ecs_os_api.thread_self_()

Definition at line 407 of file os_api.h.

◆ ecs_os_vsprintf

#define ecs_os_vsprintf (   ptr,
  fmt,
  args 
)    vsprintf(ptr, fmt, args)

Definition at line 388 of file os_api.h.

◆ ecs_os_zeromem

#define ecs_os_zeromem (   ptr)    ecs_os_memset(ptr, 0, ECS_SIZEOF(*ptr))

Definition at line 367 of file os_api.h.

Typedef Documentation

◆ ecs_os_api_abort_t

typedef void(* ecs_os_api_abort_t) (void)

Definition at line 184 of file os_api.h.

◆ ecs_os_api_ainc_t

typedef int32_t(* ecs_os_api_ainc_t) (int32_t *value)

Definition at line 112 of file os_api.h.

◆ ecs_os_api_calloc_t

typedef void *(* ecs_os_api_calloc_t) (ecs_size_t size)

Definition at line 86 of file os_api.h.

◆ ecs_os_api_cond_broadcast_t

typedef void(* ecs_os_api_cond_broadcast_t) (ecs_os_cond_t cond)

Definition at line 150 of file os_api.h.

◆ ecs_os_api_cond_free_t

typedef void(* ecs_os_api_cond_free_t) (ecs_os_cond_t cond)

Definition at line 142 of file os_api.h.

◆ ecs_os_api_cond_new_t

typedef ecs_os_cond_t(* ecs_os_api_cond_new_t) (void)

Definition at line 138 of file os_api.h.

◆ ecs_os_api_cond_signal_t

typedef void(* ecs_os_api_cond_signal_t) (ecs_os_cond_t cond)

Definition at line 146 of file os_api.h.

◆ ecs_os_api_cond_wait_t

typedef void(* ecs_os_api_cond_wait_t) (ecs_os_cond_t cond, ecs_os_mutex_t mutex)

Definition at line 154 of file os_api.h.

◆ ecs_os_api_dlclose_t

typedef void(* ecs_os_api_dlclose_t) (ecs_os_dl_t lib)

Definition at line 198 of file os_api.h.

◆ ecs_os_api_dlopen_t

typedef ecs_os_dl_t(* ecs_os_api_dlopen_t) (const char *libname)

Definition at line 189 of file os_api.h.

◆ ecs_os_api_dlproc_t

typedef ecs_os_proc_t(* ecs_os_api_dlproc_t) (ecs_os_dl_t lib, const char *procname)

Definition at line 193 of file os_api.h.

◆ ecs_os_api_enable_high_timer_resolution_t

typedef void(* ecs_os_api_enable_high_timer_resolution_t) (bool enable)

Definition at line 164 of file os_api.h.

◆ ecs_os_api_fini_t

typedef void(* ecs_os_api_fini_t) (void)

Definition at line 69 of file os_api.h.

◆ ecs_os_api_free_t

typedef void(* ecs_os_api_free_t) (void *ptr)

Definition at line 77 of file os_api.h.

◆ ecs_os_api_get_time_t

typedef void(* ecs_os_api_get_time_t) (ecs_time_t *time_out)

Definition at line 168 of file os_api.h.

◆ ecs_os_api_init_t

typedef void(* ecs_os_api_init_t) (void)

Definition at line 65 of file os_api.h.

◆ ecs_os_api_lainc_t

typedef int64_t(* ecs_os_api_lainc_t) (int64_t *value)

Definition at line 116 of file os_api.h.

◆ ecs_os_api_log_t

typedef void(* ecs_os_api_log_t) (int32_t level, const char *file, int32_t line, const char *msg)

Definition at line 176 of file os_api.h.

◆ ecs_os_api_malloc_t

typedef void *(* ecs_os_api_malloc_t) (ecs_size_t size)

Definition at line 73 of file os_api.h.

◆ ecs_os_api_module_to_path_t

typedef char *(* ecs_os_api_module_to_path_t) (const char *module_id)

Definition at line 202 of file os_api.h.

◆ ecs_os_api_mutex_free_t

typedef void(* ecs_os_api_mutex_free_t) (ecs_os_mutex_t mutex)

Definition at line 133 of file os_api.h.

◆ ecs_os_api_mutex_lock_t

typedef void(* ecs_os_api_mutex_lock_t) (ecs_os_mutex_t mutex)

Definition at line 125 of file os_api.h.

◆ ecs_os_api_mutex_new_t

typedef ecs_os_mutex_t(* ecs_os_api_mutex_new_t) (void)

Definition at line 121 of file os_api.h.

◆ ecs_os_api_mutex_unlock_t

typedef void(* ecs_os_api_mutex_unlock_t) (ecs_os_mutex_t mutex)

Definition at line 129 of file os_api.h.

◆ ecs_os_api_now_t

typedef uint64_t(* ecs_os_api_now_t) (void)

Definition at line 172 of file os_api.h.

◆ ecs_os_api_realloc_t

typedef void *(* ecs_os_api_realloc_t) (void *ptr, ecs_size_t size)

Definition at line 81 of file os_api.h.

◆ ecs_os_api_sleep_t

typedef void(* ecs_os_api_sleep_t) (int32_t sec, int32_t nanosec)

Definition at line 159 of file os_api.h.

◆ ecs_os_api_strdup_t

typedef char *(* ecs_os_api_strdup_t) (const char *str)

Definition at line 90 of file os_api.h.

◆ ecs_os_api_thread_join_t

typedef void *(* ecs_os_api_thread_join_t) (ecs_os_thread_t thread)

Definition at line 104 of file os_api.h.

◆ ecs_os_api_thread_new_t

typedef ecs_os_thread_t(* ecs_os_api_thread_new_t) (ecs_os_thread_callback_t callback, void *param)

Definition at line 99 of file os_api.h.

◆ ecs_os_api_thread_self_t

typedef ecs_os_thread_id_t(* ecs_os_api_thread_self_t) (void)

Definition at line 108 of file os_api.h.

◆ ecs_os_cond_t

typedef uintptr_t ecs_os_cond_t

Definition at line 52 of file os_api.h.

◆ ecs_os_dl_t

typedef uintptr_t ecs_os_dl_t

Definition at line 54 of file os_api.h.

◆ ecs_os_mutex_t

typedef uintptr_t ecs_os_mutex_t

Definition at line 53 of file os_api.h.

◆ ecs_os_proc_t

typedef void(* ecs_os_proc_t) (void)

Definition at line 61 of file os_api.h.

◆ ecs_os_sock_t

typedef uintptr_t ecs_os_sock_t

Definition at line 55 of file os_api.h.

◆ ecs_os_thread_callback_t

typedef void *(* ecs_os_thread_callback_t) (void *)

Definition at line 95 of file os_api.h.

◆ ecs_os_thread_id_t

typedef uint64_t ecs_os_thread_id_t

Definition at line 58 of file os_api.h.

◆ ecs_os_thread_t

typedef uintptr_t ecs_os_thread_t

Definition at line 51 of file os_api.h.