SynGame/allegro/include/allegro5/tls.h

66 lines
1.7 KiB
C

/* ______ ___ ___
* /\ _ \ /\_ \ /\_ \
* \ \ \L\ \\//\ \ \//\ \ __ __ _ __ ___
* \ \ __ \ \ \ \ \ \ \ /'__`\ /'_ `\/\`'__\/ __`\
* \ \ \/\ \ \_\ \_ \_\ \_/\ __//\ \L\ \ \ \//\ \L\ \
* \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/
* \/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/
* /\____/
* \_/__/
*
* Thread local storage routines.
*
* See readme.txt for copyright information.
*/
#ifndef __al_included_allegro5_tls_h
#define __al_included_allegro5_tls_h
#include "allegro5/base.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Enum: ALLEGRO_STATE_FLAGS
*/
typedef enum ALLEGRO_STATE_FLAGS
{
ALLEGRO_STATE_NEW_DISPLAY_PARAMETERS = 0x0001,
ALLEGRO_STATE_NEW_BITMAP_PARAMETERS = 0x0002,
ALLEGRO_STATE_DISPLAY = 0x0004,
ALLEGRO_STATE_TARGET_BITMAP = 0x0008,
ALLEGRO_STATE_BLENDER = 0x0010,
ALLEGRO_STATE_NEW_FILE_INTERFACE = 0x0020,
ALLEGRO_STATE_TRANSFORM = 0x0040,
ALLEGRO_STATE_BITMAP = ALLEGRO_STATE_TARGET_BITMAP +\
ALLEGRO_STATE_NEW_BITMAP_PARAMETERS,
ALLEGRO_STATE_ALL = 0xffff
} ALLEGRO_STATE_FLAGS;
/* Type: ALLEGRO_STATE
*/
typedef struct ALLEGRO_STATE ALLEGRO_STATE;
struct ALLEGRO_STATE
{
/* Internally, a thread_local_state structure is placed here. */
char _tls[1024];
};
AL_FUNC(void, al_store_state, (ALLEGRO_STATE *state, int flags));
AL_FUNC(void, al_restore_state, (ALLEGRO_STATE const *state));
#ifdef __cplusplus
}
#endif
#endif