/* $Id$ * * Defines the types UINT32, UINT16 and UINT8 */ #ifndef CRYPTO_TYPES_H_INCLUDED #define CRYPTO_TYPES_H_INCLUDED #ifdef PIKE # include "pike_types.h" # include "global.h" # define UINT32 unsigned INT32 # define UINT16 unsigned INT16 # define UINT8 unsigned INT8 #else /* !PIKE */ /* FIXME: Reorganize the header files for definitions. This stuff * should probably live in lsh_types.h, and object definitions should * move into a separate header file. * * FIXME: some of the crypto implementations could well use the * READ_UINT32 and WRITE_UINT32 macros. */ # ifdef LSH # ifdef HAVE_CONFIG_H # include "config.h" # endif # if SIZEOF_SHORT >= 4 # define UINT32 unsigned short # elif SIZEOF_INT >= 4 # define UINT32 unsigned int # elif SIZEOF_LONG >= 4 # define UINT32 unsigned long # else # error No suitable type found to use for UINT32 # endif /* UINT32 */ # if SIZEOF_SHORT >= 2 # define UINT16 unsigned short # elif SIZEOF_INT >= 2 # define UINT16 unsigned int # else # error No suitable type found to use for UINT16 # endif /* UINT16 */ # define UINT8 unsigned char # else /* !LSH */ # define UINT32 unsigned long # define UINT16 unsigned short # define UINT8 unsigned char # endif /* !PIKE */ #endif #ifdef __GNUC__ #define NORETURN __attribute__ ((noreturn)) #define PRINTF_STYLE(f, a) __attribute__ ((format(printf, f, a))) #define UNUSED __attribute__ ((unused)) #else #define NORETURN #define PRINTF_STYLE(f, a) #define UNUSED #endif #endif /* CRYPTO_TYPES_H_INCLUDED */