X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9b73466ada27682d1729f394549479da83ef4a99..1123a69b82b73a4edd1cc9012330de33919d171e:/include/xbt/misc.h diff --git a/include/xbt/misc.h b/include/xbt/misc.h index a6f65de479..a0620abe54 100644 --- a/include/xbt/misc.h +++ b/include/xbt/misc.h @@ -1,6 +1,6 @@ /* xbt.h - Public interface to the xbt (simgrid's toolbox) */ -/* Copyright (c) 2004-2012. The SimGrid Team. +/* Copyright (c) 2004-2014. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -171,6 +171,8 @@ # define XBT_EXPORT_NO_IMPORT(type) __declspec(dllexport) type # define XBT_IMPORT_NO_EXPORT(type) type # define XBT_PUBLIC_DATA(type) extern __declspec(dllexport) type +# define XBT_PUBLIC_CLASS class __declspec(dllexport) + /* Pack everything up statically */ #elif defined(DLL_STATIC) @@ -178,6 +180,8 @@ # define XBT_EXPORT_NO_IMPORT(type) type # define XBT_IMPORT_NO_EXPORT(type) type # define XBT_PUBLIC_DATA(type) extern type +# define XBT_PUBLIC_CLASS class + /* Link against the DLL */ #elif (defined(_XBT_WIN32) && !defined(DLL_EXPORT) && !defined(DLL_STATIC)) @@ -185,6 +189,8 @@ # define XBT_EXPORT_NO_IMPORT(type) type # define XBT_IMPORT_NO_EXPORT(type) __declspec(dllimport) type # define XBT_PUBLIC_DATA(type) extern __declspec(dllimport) type +# define XBT_PUBLIC_CLASS class __declspec(dllimport) + /* UNIX build */ #else @@ -192,6 +198,8 @@ # define XBT_EXPORT_NO_IMPORT(type) type # define XBT_IMPORT_NO_EXPORT(type) type # define XBT_PUBLIC_DATA(type) extern type +# define XBT_PUBLIC_CLASS class + #endif #if !defined (max) && !defined(__cplusplus) @@ -224,6 +232,12 @@ SG_BEGIN_DECL() +/** Cache the size of a memory page for the current system. */ +XBT_PUBLIC_DATA(int) xbt_pagesize; + +/** Cache the number of bits of addresses inside a given page, log2(xbt_pagesize). */ + XBT_PUBLIC_DATA(int) xbt_pagebits; + XBT_PUBLIC(const char *) xbt_procname(void); #define XBT_BACKTRACE_SIZE 10 /* FIXME: better place? Do document */