SOEM/osal/osal.h

60 lines
1.4 KiB
C
Raw Permalink Normal View History

/*
* Licensed under the GNU General Public License version 2 with exceptions. See
* LICENSE file in the project root for full license information
2014-11-25 16:10:29 +01:00
*/
#ifndef _osal_
#define _osal_
2016-02-16 13:35:19 +01:00
#ifdef __cplusplus
extern "C"
{
#endif
#include "osal_defs.h"
2014-11-25 16:10:29 +01:00
#include <stdint.h>
/* General types */
#ifndef TRUE
2014-11-25 16:10:29 +01:00
#define TRUE 1
#endif
#ifndef FALSE
2014-11-25 16:10:29 +01:00
#define FALSE 0
#endif
typedef uint8_t boolean;
2014-11-25 16:10:29 +01:00
typedef int8_t int8;
typedef int16_t int16;
typedef int32_t int32;
typedef uint8_t uint8;
typedef uint16_t uint16;
typedef uint32_t uint32;
typedef int64_t int64;
typedef uint64_t uint64;
typedef float float32;
typedef double float64;
typedef struct
{
uint32 sec; /*< Seconds elapsed since the Epoch (Jan 1, 1970) */
2015-07-09 17:58:54 +02:00
uint32 usec; /*< Microseconds elapsed since last second boundary */
2014-11-25 16:10:29 +01:00
} ec_timet;
typedef struct osal_timer
{
ec_timet stop_time;
} osal_timert;
2015-03-11 21:45:16 +01:00
void osal_timer_start(osal_timert * self, uint32 timeout_us);
2014-11-25 16:10:29 +01:00
boolean osal_timer_is_expired(osal_timert * self);
int osal_usleep(uint32 usec);
ec_timet osal_current_time(void);
void osal_time_diff(ec_timet *start, ec_timet *end, ec_timet *diff);
int osal_thread_create(void *thandle, int stacksize, void *func, void *param);
int osal_thread_create_rt(void *thandle, int stacksize, void *func, void *param);
2016-02-16 13:35:19 +01:00
#ifdef __cplusplus
}
#endif
2014-11-25 16:10:29 +01:00
#endif