Annotation of previous_trunk/src/includes/host.h, revision 1.1.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.