GATE
platforms.h File Reference

Platform support functions to access system specific features. More...

#include "gate/gate_core_api.h"
#include "gate/gatetypes.h"

Classes

struct  gate_platform_stream_buffer
 

Macros

#define GATE_PLATFORM_STREAM_OPEN_NATIVE   0 /* interpret native flags only */
 
#define GATE_PLATFORM_STREAM_OPEN_READ   1 /* open stream with generic read access */
 
#define GATE_PLATFORM_STREAM_OPEN_WRITE   2 /* open stream with generic write access */
 
#define GATE_PLATFORM_STREAM_OPEN_READWRITE   3 /* open stream with generic read and write access */
 
#define GATE_PLATFORM_STREAM_ORIGIN_BEGIN   0
 
#define GATE_PLATFORM_STREAM_ORIGIN_CURRENT   1
 
#define GATE_PLATFORM_STREAM_ORIGIN_END   -1
 
#define GATE_PLATFORM_SIGNAL_ABRT   (-1)
 
#define GATE_PLATFORM_SIGNAL_FPE   (-2)
 
#define GATE_PLATFORM_SIGNAL_ILL   (-3)
 
#define GATE_PLATFORM_SIGNAL_INT   (-4)
 
#define GATE_PLATFORM_SIGNAL_SEGV   (-5)
 
#define GATE_PLATFORM_SIGNAL_TERM   (-6)
 

Typedefs

typedef void * gate_platform_stream_t
 
typedef void(* gate_platform_signal_handler_t) (int)
 
typedef void * gate_platform_semaphore_t
 
typedef struct gate_platform_stream_buffer gate_platform_stream_buffer_t
 

Functions

GATE_CORE_API void gate_main_init ()
 
GATE_CORE_API void gate_main_uninit ()
 
GATE_CORE_API gate_result_t gate_platform_init (void)
 
GATE_CORE_API void gate_platform_exit (int exit_code)
 
GATE_CORE_API gate_result_t gate_platform_lock ()
 
GATE_CORE_API gate_result_t gate_platform_unlock ()
 
GATE_CORE_API gate_int32_t gate_platform_get_last_error ()
 
GATE_CORE_API gate_result_t gate_platform_set_last_error (gate_int32_t platform_error_code)
 
GATE_CORE_API gate_result_t gate_platform_print_error (gate_int32_t platform_error_code, char *buffer, gate_size_t buffer_len)
 
GATE_CORE_API gate_result_t gate_platform_print_last_error (char *buffer, gate_size_t buffer_len)
 
GATE_CORE_API gate_bool_t gate_platform_stream_valid (gate_platform_stream_t strm)
 
GATE_CORE_API void gate_platform_stream_set_invalid (gate_platform_stream_t *ptr_strm)
 
GATE_CORE_API gate_result_t gate_platform_stream_open (char const *path, int open_flags, int native_flags, gate_platform_stream_t *strm)
 
GATE_CORE_API gate_result_t gate_platform_stream_read (gate_platform_stream_t strm, char *buffer, gate_size_t bufferlength, gate_size_t *returned)
 
GATE_CORE_API gate_result_t gate_platform_stream_write (gate_platform_stream_t strm, char const *buffer, gate_size_t bufferlength, gate_size_t *written)
 
GATE_CORE_API gate_result_t gate_platform_stream_seek (gate_platform_stream_t strm, gate_int64_t position, gate_enumint_t origin, gate_int64_t *final_position)
 
GATE_CORE_API gate_result_t gate_platform_stream_close (gate_platform_stream_t *strm)
 
GATE_CORE_API gate_result_t gate_platform_set_signal_handler (int sig, gate_platform_signal_handler_t new_handler, gate_platform_signal_handler_t *ptr_old_handler)
 
GATE_CORE_API gate_result_t gate_platform_raise_signal (int sig)
 
GATE_CORE_API int gate_platform_convert_gate_signal (int gate_platform_signal)
 
GATE_CORE_API int gate_platform_convert_native_signal (int native_signal)
 
GATE_CORE_API gate_result_t gate_platform_semaphore_create (gate_platform_semaphore_t *ptr_sem, unsigned int count)
 
GATE_CORE_API gate_result_t gate_platform_semaphore_acquire (gate_platform_semaphore_t *ptr_sem, gate_uint32_t const *ptr_timeout_ms)
 
GATE_CORE_API gate_result_t gate_platform_semaphore_release (gate_platform_semaphore_t *ptr_sem)
 
GATE_CORE_API gate_result_t gate_platform_semaphore_destroy (gate_platform_semaphore_t *ptr_sem)
 
GATE_CORE_API gate_bool_t gate_platform_yield ()
 
GATE_CORE_API gate_result_t gate_platform_stream_buffer_init (gate_platform_stream_buffer_t *strmbuf, gate_platform_stream_t strm, gate_int64_t total_size, gate_int64_t position, gate_size_t blocksize)
 
GATE_CORE_API gate_result_t gate_platform_stream_buffer_read (gate_platform_stream_buffer_t *strmbuf, char *buffer, gate_size_t bufferlength, gate_size_t *returned)
 
GATE_CORE_API gate_result_t gate_platform_stream_buffer_write (gate_platform_stream_buffer_t *strmbuf, char const *buffer, gate_size_t bufferlength, gate_size_t *written)
 
GATE_CORE_API gate_result_t gate_platform_stream_buffer_seek (gate_platform_stream_buffer_t *strmbuf, gate_int64_t position, int origin, gate_int64_t *final_position)
 

Detailed Description

Platform support functions to access system specific features.