X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=secnet.git;a=blobdiff_plain;f=config.h.bot;h=bb24eb149e3b0d926dfcc8437b6946f60bcf018a;hp=47befcbc7771f3223bbd78bd0535f18700ad6cf5;hb=4f5e39ecfaa49376b0a5c3a4c384e91a828c1105;hpb=5963521296680c2aeb40baeb72459dffc14cd996 diff --git a/config.h.bot b/config.h.bot index 47befcb..bb24eb1 100644 --- a/config.h.bot +++ b/config.h.bot @@ -8,8 +8,59 @@ #ifdef HAVE_STDINT_H #include #else -#error you must define uint32_t, uint16_t etc. +#if SIZEOF_UNSIGNED_LONG_LONG==8 +typedef unsigned long long uint64_t; +typedef long long int64_t; +#elif SIZEOF_UNSIGNED_LONG==8 +typedef unsigned long uint64_t; +typedef long int64_t; +#else +#error I do not know what to use for a uint64_t. +#endif + +/* Give us an unsigned 32-bit data type. */ +#if SIZEOF_UNSIGNED_LONG==4 +typedef unsigned long uint32_t; +typedef long int32_t; +#elif SIZEOF_UNSIGNED_INT==4 +typedef unsigned int uint32_t; +typedef int int32_t; +#else +#error I do not know what to use for a uint32_t. +#endif + +/* An unsigned 16-bit data type. */ +#if SIZEOF_UNSIGNED_INT==2 +typedef unsigned int uint16_t; +typedef int int16_t; +#elif SIZEOF_UNSIGNED_SHORT==2 +typedef unsigned short uint16_t; +typedef short int16_t; +#else +#error I do not know what to use for a uint16_t. +#endif + +/* An unsigned 8-bit data type */ +#if SIZEOF_UNSIGNED_CHAR==1 +typedef unsigned char uint8_t; +#else +#error I do not know what to use for a uint8_t. +#endif +#endif #endif + +#ifndef HAVE_SNPRINTF +#include +#include +#include "snprintf.h" +#endif + +#ifdef __GNUC__ +#define NORETURN(_x) void _x __attribute__ ((noreturn)) +#define FORMAT(_a,_b,_c) __attribute__ ((format (_a,_b,_c))) +#else +#define NORETURN(_x) _x +#define FORMAT(_a,_b,_c) #endif #endif /* _CONFIG_H */