UpnpGlobal.h

Go to the documentation of this file.
00001 
00002 
00003 #ifndef UPNPGLOBAL_H
00004 #define UPNPGLOBAL_H
00005 
00006 
00014 #if defined MYLIB_LARGEFILE_SENSITIVE && _FILE_OFFSET_BITS+0 != 64
00015         #if defined __GNUC__
00016                 #warning libupnp requires largefile mode - use AC_SYS_LARGEFILE
00017         #else
00018                 #error  libupnp requires largefile mode - use AC_SYS_LARGEFILE
00019         #endif
00020 #endif 
00021 
00022 
00023 #ifdef WIN32
00024         /*
00025          * EXPORT_SPEC
00026          */
00027         #ifdef UPNP_STATIC_LIB
00028                 #define EXPORT_SPEC
00029         #else /* UPNP_STATIC_LIB */
00030                 #ifdef LIBUPNP_EXPORTS
00031 
00033                         #define EXPORT_SPEC __declspec(dllexport)
00034                 #else /* LIBUPNP_EXPORTS */
00035                         #define EXPORT_SPEC __declspec(dllimport)
00036                 #endif /* LIBUPNP_EXPORTS */
00037         #endif /* UPNP_STATIC_LIB */
00038 
00039 
00040         /*
00041          * UPNP_INLINE
00042          * PRId64
00043          * PRIzu
00044          */
00045         #ifdef UPNP_USE_MSVCPP
00046                 /* define some things the M$ VC++ doesn't know */
00047                 #define UPNP_INLINE
00048                 typedef __int64 int64_t;
00049                 #define PRId64 "I64d"
00050                 #define PRIzu "lu"
00051         #endif /* UPNP_USE_MSVCPP */
00052 
00053 
00054         #ifdef UPNP_USE_BCBPP
00055                 /* define some things Borland Builder doesn't know */
00056                 #define UPNP_INLINE inline
00057                 typedef __int64 int64_t;
00058                 #warning The Borland C compiler is probably broken on PRId64,
00059                 #warning please someone provide a proper fix here
00060                 #define PRId64 "I64d"
00061                 #define PRIzu "zu"
00062         #endif /* UPNP_USE_BCBPP */
00063 
00064 
00065         #ifdef __GNUC__
00066                 #define UPNP_INLINE inline
00067 
00068                 /* Note with PRIzu that in the case of Mingw32, it's the MS C
00069                  * runtime printf which ends up getting called, not the glibc
00070                  * printf, so it genuinely doesn't have "zu"
00071                  */
00072                 #define PRIzu "lu"
00073         #endif /* __GNUC__ */
00074 #else
00075 
00082         #define EXPORT_SPEC
00083 
00091         #define UPNP_INLINE inline
00092         
00098         /* #define PRId64 PRId64 */
00099 
00107         #define PRIzu "zu"
00108 #endif
00109 
00110 
00111 /*
00112  * Defining this macro here gives some interesting information about unused
00113  * functions in the code. Of course, this should never go uncommented on a
00114  * release.
00115  */
00116 /*#define inline*/
00117 
00118 
00119 #endif /* UPNPGLOBAL_H */
00120 
Generated on Fri May 21 00:33:57 2010 for libUPnP by  doxygen 1.6.3