/* xbt.h - Public interface to the xbt (simgrid's toolbox) */
-/* Copyright (c) 2004-2014. The SimGrid Team.
+/* Copyright (c) 2004-2015. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#ifndef XBT_MISC_H
#define XBT_MISC_H
-#include <stdarg.h>
-
#include "simgrid_config.h"
#include "base.h"
#include "dynar.h"
+#include <stdarg.h>
+
SG_BEGIN_DECL()
/** Cache the size of a memory page for the current system. */
SIMGRID_VERSION_MAJOR and friends give the version numbers of the used header files */
XBT_PUBLIC(void) sg_version(int *major,int *minor,int *patch);
+/** Helps ensuring that the header version (SIMGRID_VERSION_MAJOR and friends) and the dynamic library version do match. */
+XBT_PUBLIC(void) sg_version_check(int lib_version_major,int lib_version_minor,int lib_version_patch);
+
/** Contains all the parameters we got from the command line */
XBT_PUBLIC_DATA(xbt_dynar_t) sg_cmdline;
*/
#if defined(SIMGRID_NEED_ASPRINTF)||defined(DOXYGEN)
XBT_PUBLIC(int) asprintf(char **ptr, const char *fmt, /*args */
- ...) _XBT_GNUC_PRINTF(2, 3);
+ ...) XBT_ATTRIB_PRINTF(2, 3);
#endif
/** @brief print to allocated string (reimplemented when not provided by the system)
*
* Works just like asprintf(), but returns a pointer to the newly
* created string, or aborts on error.
*/
-XBT_PUBLIC(char *) bprintf(const char *fmt, ...) _XBT_GNUC_PRINTF(1, 2);
+XBT_PUBLIC(char *) bprintf(const char *fmt, ...) XBT_ATTRIB_PRINTF(1, 2);
/** @} */
SG_END_DECL()