/*
   fichier machine.h.template
   créé le dimanche 21 janvier 2007 par whygee@f-cpu.org
   Définit les particularités de la machine cible

   Ce fichier est un exemple générique : il peut être recopié
   dans machine.h et modifié en fonction de l'architecture du
   processeur cible qui exécutera le code.

   Le fichier machine.h final peut aussi être généré par le
   programme machine.c pour refléter automatiquement la
   configuration de l'ordinateur hôte.

   La définition de l'endian a été choisie pour être
   compatible avec la convention de GNU/autoconf.

   Ce fichier définit les mots suivants :
   U8, S8, U16, S16, U32, S32, U64, S64, WORDS_BIGENDIAN
*/

#ifndef __MACHINE_H__
#define __MACHINE_H__

#define U8    unsigned char
#define S8      signed char
#define U16   unsigned short int
#define S16     signed short int
#ifndef U32
  /* liste évidemment incomplète de machines 64 bits */
  #if defined (__alpha) || defined (__x86_64)
    #define U32 unsigned int
  #else
    #define U32 unsigned long int
  #endif
#endif
#define U64   unsigned long long int
#define S64     signed long long int

/* Little Endian --> #undef WORDS_BIGENDIAN */
#ifndef WORDS_BIGENDIAN
  #if __BYTE_ORDER == __BIG_ENDIAN
    #define WORDS_BIGENDIAN
  #endif
#endif

#endif /* __MACHINE_H__ */
