Annotation of previous_trunk/src/includes/host.h, revision 1.1

1.1     ! root        1: /*
        !             2:  Host system dependencies such as (real)time synchronizaton and events that
        !             3:  occur on host threads (e.g. VBL & timers) which need to be synchronized
        !             4:  to Previous CPU threads.
        !             5:  */
        !             6: 
        !             7: #pragma once
        !             8: 
        !             9: #ifndef __HOST_H__
        !            10: #define __HOST_H__
        !            11: 
        !            12: #include <SDL.h>
        !            13: #include <stdbool.h>
        !            14: 
        !            15: #ifdef __cplusplus
        !            16: extern "C" {
        !            17: #endif
        !            18: #define REALTIME_INT_LVL 1
        !            19: 
        !            20: #ifdef __MINGW32__
        !            21: #define FMT_ll "I64"
        !            22: #define FMT_zu "u"
        !            23: #else
        !            24: #define FMT_ll "ll"
        !            25: #define FMT_zu "zu"
        !            26: #endif
        !            27: 
        !            28:     enum {
        !            29:         MAIN_DISPLAY,
        !            30:         ND_DISPLAY,
        !            31:         ND_VIDEO,
        !            32:     };
        !            33:     
        !            34:     typedef SDL_SpinLock       lock_t;
        !            35:     typedef SDL_Thread         thread_t;
        !            36:     typedef SDL_ThreadFunction thread_func_t;
        !            37: 
        !            38:     void        host_reset(void);
        !            39:     void        host_realtime(bool state);
        !            40:     void        host_blank(int slot, int src, bool state);
        !            41:     bool        host_blank_state(int slot, int src);
        !            42:     Uint64      host_time_us(void);
        !            43:     Uint32      host_time_ms(void);
        !            44:     double      host_time_sec(void);
        !            45:     void        host_time(double* realTime, double* hostTime);
        !            46:     time_t      host_unix_time(void);
        !            47:     void        host_set_unix_time(time_t now);
        !            48:     void        host_sleep_sec(double sec);
        !            49:     void        host_sleep_ms(Uint32 ms);
        !            50:     void        host_sleep_us(Uint64 us);
        !            51:     int         host_num_cpus(void);
        !            52:     void        host_hardclock(int expected, int actual);
        !            53:     double      host_real_time_offset(void);
        !            54:     void        host_pause_time(bool pausing);
        !            55:     const char* host_report(double realTime, double hostTime);
        !            56:     void        host_darkmatter(bool state);
        !            57:     
        !            58:     void        host_lock(lock_t* lock);
        !            59:     void        host_unlock(lock_t* lock);
        !            60:     int         host_trylock(lock_t* lock);
        !            61:     thread_t*   host_thread_create(thread_func_t, void* data);
        !            62:     int         host_thread_wait(thread_t* thread);
        !            63: 
        !            64: #ifdef __cplusplus
        !            65: }
        !            66: #endif
        !            67: 
        !            68: #endif /* __HOST_H__ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.