# types.h

Go to the documentation of this file.

    00001 /***************************************************************************
    00002  $RCSfile: types.h.in,v $
    00003                              -------------------
    00004     cvs         : $Id: types.h.in,v 1.8 2004/11/19 16:17:17 aquamaniac Exp $
    00005     begin       : Sun Jan 04 2004
    00006     copyright   : (C) 2004 by Martin Preuss
    00007     email       : martin@libchipcard.de
    00008
    00009  ***************************************************************************
    00010  *                                                                         *
    00011  *   This library is free software; you can redistribute it and/or         *
    00012  *   modify it under the terms of the GNU Lesser General Public            *
    00013  *   License as published by the Free Software Foundation; either          *
    00014  *   version 2.1 of the License, or (at your option) any later version.    *
    00015  *                                                                         *
    00016  *   This library is distributed in the hope that it will be useful,       *
    00017  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
    00018  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
    00019  *   Lesser General Public License for more details.                       *
    00020  *                                                                         *
    00021  *   You should have received a copy of the GNU Lesser General Public      *
    00022  *   License along with this library; if not, write to the Free Software   *
    00023  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
    00024  *   MA  02111-1307  USA                                                   *
    00025  *                                                                         *
    00026  ***************************************************************************/
    00027
    00028 #ifndef GWENHYWFAR_TYPES_H
    00029 #define GWENHYWFAR_TYPES_H
    00030
    00031 #include <gwenhywfar/gwenhywfarapi.h>
    00032
    00034 #define GWEN_TYPE_TMPL_UINT32 "%u"
    00035 #define GWEN_TYPE_TMPL_UINT64 "%llu"
    00036
    00037
    00039 typedef unsigned int GWEN_TYPE_UINT32;
    00040
    00041 /* Here we provide G_GNUC_EXTENSION as an alias for __extension__,
    00042  * where this is valid. This allows for warningless compilation of
    00043  * "long long" types even in the presence of '-ansi -pedantic'. Copied
    00044  * from glib-2.0's gmacros.h.
    00045  */
    00046 #if     __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8)
    00047 #  define GWEN_GNUC_EXTENSION __extension__
    00048 #else
    00049 #  define GWEN_GNUC_EXTENSION
    00050 #endif
    00051
    00057 #ifdef __GNUC__
    00058   GWEN_GNUC_EXTENSION
    00059   typedef unsigned long long GWEN_TYPE_UINT64;
    00060 #else /* __GNUC__ */
    00061 # include <windows.h>
    00062   /* Workaround for Microsoft Visual Studio Compiler (MSVC) which does
    00063    * not have "long long" but ULONG64 instead. */
    00064   typedef ULONG64 GWEN_TYPE_UINT64;
    00065 #endif /* __GNUC__ */
    00066
    00067 #endif
    00068