/*#*
*#* $Log$
+ *#* Revision 1.6 2005/07/19 07:27:31 bernie
+ *#* Don't use CPU_REG_BITS from cpu.h to avoid circular header dependendy.
+ *#*
+ *#* Revision 1.5 2005/06/27 21:24:37 bernie
+ *#* ticks_t: New typedef.
+ *#*
*#* Revision 1.4 2005/06/14 06:15:10 bernie
*#* Add X86_64 support.
*#*
#define DEPRECATED __attribute__((__deprecated__))
#endif
- #if CPU_AVR
- #include <stddef.h>
- #include <stdbool.h>
- #else
- /* Include some standard C89/C99 stuff */
- #include <stddef.h>
- #include <stdbool.h>
- #endif
+ /* Include some standard C89/C99 stuff */
+ #include <stddef.h>
+ #include <stdbool.h>
#ifndef __cplusplus
/*
* The ATmega8 has a very small Flash, so we can't afford
* to link in support routines for 32bit integer arithmetic.
*/
+ typedef int16_t ticks_t; /*!< Type for time expressed in ticks. */
typedef int16_t mtime_t; /*!< Type for time expressed in milliseconds. */
typedef int16_t utime_t; /*!< Type for time expressed in microseconds. */
#define SIZEOF_MTIME_T (16 / CPU_BITS_PER_CHAR)
#define SIZEOF_UTIME_T (16 / CPU_BITS_PER_CHAR)
#define MTIME_INFINITE 0x7FFFL
#else
+ typedef int32_t ticks_t; /*!< Type for time expressed in ticks. */
typedef int32_t mtime_t; /*!< Type for time expressed in milliseconds. */
typedef int32_t utime_t; /*!< Type for time expressed in microseconds. */
#define SIZEOF_MTIME_T (32 / CPU_BITS_PER_CHAR)
/*! Bulk storage large enough for both pointers or integers. */
typedef void * iptr_t;
+
+/*! Bulk storage large enough for both pointers to constants or integers. */
typedef const void * const_iptr_t;
typedef unsigned char sig_t; /*!< Type for signal bits. */
* \{
*/
#if !(defined(size_t) || defined(_SIZE_T_DEFINED) || defined(_BSD_SIZE_T_DEFINED_))
- #if CPU_REG_BITS > 32
- /* 64bit. */
+ #if CPU_X86
+ /* 32bit or 64bit (32bit for _WIN64). */
typedef unsigned long size_t;
#else
- /* 32bit or 16bit. */
- typedef unsigned int size_t;
+ #error Unknown CPU
#endif
#endif
#if !(defined(ssize_t) || defined(__ssize_t_defined))
- #if CPU_REG_BITS > 32
- /* 64bit (32bit for _WIN64). */
+ #if CPU_X86
+ /* 32bit or 64bit (32bit for _WIN64). */
typedef long ssize_t;
- #else
- /* 32bit or 16bit. */
+ #elif CPU_AVR
+ /* 16bit (missing in avr-libc's sys/types.h). */
typedef int ssize_t;
+ #else
+ #error Unknown CPU
#endif
#endif
/*\}*/