#include "SDL_internal.h"
#ifndef SDL_syssensor_h_
#define SDL_syssensor_h_
#include "SDL_sensor_c.h"
#define _guarded SDL_GUARDED_BY(SDL_sensor_lock)
struct SDL_Sensor
{
SDL_SensorID instance_id _guarded; char *name _guarded; SDL_SensorType type _guarded; int non_portable_type _guarded;
float data[16] _guarded;
struct SDL_SensorDriver *driver _guarded;
struct sensor_hwdata *hwdata _guarded;
SDL_PropertiesID props _guarded;
int ref_count _guarded;
struct SDL_Sensor *next _guarded; };
#undef _guarded
typedef struct SDL_SensorDriver
{
bool (*Init)(void);
int (*GetCount)(void);
void (*Detect)(void);
const char *(*GetDeviceName)(int device_index);
SDL_SensorType (*GetDeviceType)(int device_index);
int (*GetDeviceNonPortableType)(int device_index);
SDL_SensorID (*GetDeviceInstanceID)(int device_index);
bool (*Open)(SDL_Sensor *sensor, int device_index);
void (*Update)(SDL_Sensor *sensor);
void (*Close)(SDL_Sensor *sensor);
void (*Quit)(void);
} SDL_SensorDriver;
extern SDL_SensorDriver SDL_ANDROID_SensorDriver;
extern SDL_SensorDriver SDL_COREMOTION_SensorDriver;
extern SDL_SensorDriver SDL_WINDOWS_SensorDriver;
extern SDL_SensorDriver SDL_DUMMY_SensorDriver;
extern SDL_SensorDriver SDL_VITA_SensorDriver;
extern SDL_SensorDriver SDL_N3DS_SensorDriver;
extern SDL_SensorDriver SDL_EMSCRIPTEN_SensorDriver;
#endif