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_s(str1, INT_MAX, str2)
 
#define ecs_os_sprintf(ptr, ...)   sprintf_s(ptr, INT_MAX, __VA_ARGS__)
 
#define ecs_os_vsprintf(ptr, fmt, args)   vsprintf_s(ptr, INT_MAX, fmt, args)
 
#define ecs_os_strcpy(str1, str2)   strcpy_s(str1, INT_MAX, str2)
 
#define ecs_os_strncpy(str1, str2, num)   strncpy_s(str1, INT_MAX, str2, (size_t)(num))
 
#define ecs_os_fopen(result, file, mode)   fopen_s(result, 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_task_new(callback, param)   ecs_os_api.task_new_(callback, param)
 
#define ecs_os_task_join(thread)   ecs_os_api.task_join_(thread)
 
#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 ecs_os_thread_t(* ecs_os_api_task_new_t) (ecs_os_thread_callback_t callback, void *param)
 
typedef void *(* ecs_os_api_task_join_t) (ecs_os_thread_t thread)
 
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_task_support (void)
 Are task 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 386 of file os_api.h.

◆ ecs_os_abort

#define ecs_os_abort ( )    ecs_os_api.abort_()

Definition at line 486 of file os_api.h.

◆ ecs_os_adec

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

Definition at line 429 of file os_api.h.

◆ ecs_os_ainc

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

Definition at line 428 of file os_api.h.

◆ ecs_os_alloca

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

Definition at line 340 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 351 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 350 of file os_api.h.

◆ ecs_os_calloc

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

Definition at line 335 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 346 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 345 of file os_api.h.

◆ ecs_os_cond_broadcast

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

Definition at line 443 of file os_api.h.

◆ ecs_os_cond_free

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

Definition at line 441 of file os_api.h.

◆ ecs_os_cond_new

#define ecs_os_cond_new ( )    ecs_os_api.cond_new_()

Definition at line 440 of file os_api.h.

◆ ecs_os_cond_signal

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

Definition at line 442 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 444 of file os_api.h.

◆ ecs_os_dec

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

Definition at line 481 of file os_api.h.

◆ ecs_os_dlclose

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

Definition at line 491 of file os_api.h.

◆ ecs_os_dlopen

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

Definition at line 489 of file os_api.h.

◆ ecs_os_dlproc

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

Definition at line 490 of file os_api.h.

◆ ecs_os_fopen

#define ecs_os_fopen (   result,
  file,
  mode 
)    fopen_s(result, file, mode)

Definition at line 413 of file os_api.h.

◆ ecs_os_free

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

Definition at line 329 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 449 of file os_api.h.

◆ ecs_os_inc

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

Definition at line 479 of file os_api.h.

◆ ecs_os_ladec

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

Definition at line 431 of file os_api.h.

◆ ecs_os_lainc

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

Definition at line 430 of file os_api.h.

◆ ecs_os_ldec

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

Definition at line 482 of file os_api.h.

◆ ecs_os_linc

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

Definition at line 480 of file os_api.h.

◆ ecs_os_malloc

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

Definition at line 326 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 344 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 343 of file os_api.h.

◆ ecs_os_memcmp

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

Definition at line 368 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 376 of file os_api.h.

◆ ecs_os_memcpy

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

Definition at line 369 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 375 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 374 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 384 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 383 of file os_api.h.

◆ ecs_os_memmove

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

Definition at line 371 of file os_api.h.

◆ ecs_os_memset

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

Definition at line 370 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 380 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 379 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 494 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 495 of file os_api.h.

◆ ecs_os_mutex_free

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

Definition at line 435 of file os_api.h.

◆ ecs_os_mutex_lock

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

Definition at line 436 of file os_api.h.

◆ ecs_os_mutex_new

#define ecs_os_mutex_new ( )    ecs_os_api.mutex_new_()

Definition at line 434 of file os_api.h.

◆ ecs_os_mutex_unlock

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

Definition at line 437 of file os_api.h.

◆ ecs_os_now

#define ecs_os_now ( )    ecs_os_api.now_()

Definition at line 448 of file os_api.h.

◆ ecs_os_realloc

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

Definition at line 332 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 349 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 348 of file os_api.h.

◆ ecs_os_sleep

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

Definition at line 447 of file os_api.h.

◆ ecs_os_sprintf

#define ecs_os_sprintf (   ptr,
  ... 
)    sprintf_s(ptr, INT_MAX, __VA_ARGS__)

Definition at line 391 of file os_api.h.

◆ ecs_os_strcat

#define ecs_os_strcat (   str1,
  str2 
)    strcat_s(str1, INT_MAX, str2)

Definition at line 390 of file os_api.h.

◆ ecs_os_strcmp

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

Definition at line 378 of file os_api.h.

◆ ecs_os_strcpy

#define ecs_os_strcpy (   str1,
  str2 
)    strcpy_s(str1, INT_MAX, str2)

Definition at line 393 of file os_api.h.

◆ ecs_os_strdup

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

Definition at line 355 of file os_api.h.

◆ ecs_os_strlen

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

Definition at line 366 of file os_api.h.

◆ ecs_os_strncmp

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

Definition at line 367 of file os_api.h.

◆ ecs_os_strncpy

#define ecs_os_strncpy (   str1,
  str2,
  num 
)    strncpy_s(str1, INT_MAX, str2, (size_t)(num))

Definition at line 397 of file os_api.h.

◆ ecs_os_task_join

#define ecs_os_task_join (   thread)    ecs_os_api.task_join_(thread)

Definition at line 425 of file os_api.h.

◆ ecs_os_task_new

#define ecs_os_task_new (   callback,
  param 
)    ecs_os_api.task_new_(callback, param)

Definition at line 424 of file os_api.h.

◆ ecs_os_thread_join

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

Definition at line 420 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 419 of file os_api.h.

◆ ecs_os_thread_self

#define ecs_os_thread_self ( )    ecs_os_api.thread_self_()

Definition at line 421 of file os_api.h.

◆ ecs_os_vsprintf

#define ecs_os_vsprintf (   ptr,
  fmt,
  args 
)    vsprintf_s(ptr, INT_MAX, fmt, args)

Definition at line 392 of file os_api.h.

◆ ecs_os_zeromem

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

Definition at line 381 of file os_api.h.

Typedef Documentation

◆ ecs_os_api_abort_t

typedef void(* ecs_os_api_abort_t) (void)

Definition at line 194 of file os_api.h.

◆ ecs_os_api_ainc_t

typedef int32_t(* ecs_os_api_ainc_t) (int32_t *value)

Definition at line 122 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 160 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 152 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 148 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 156 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 164 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 208 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 199 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 203 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 174 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 178 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 126 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 186 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 212 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 143 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 135 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 131 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 139 of file os_api.h.

◆ ecs_os_api_now_t

typedef uint64_t(* ecs_os_api_now_t) (void)

Definition at line 182 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 169 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_task_join_t

typedef void *(* ecs_os_api_task_join_t) (ecs_os_thread_t thread)

Definition at line 117 of file os_api.h.

◆ ecs_os_api_task_new_t

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

Definition at line 112 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.