/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
-#include "xbt/misc.h" /* XBT_PUBLIC */
-#include "xbt/dynar.h" /* sg_commandline */
-
#ifndef SIMGRID_PUBLIC_CONFIG_H
#define SIMGRID_PUBLIC_CONFIG_H
-SG_BEGIN_DECL()
-
/** Define the version numbers of the used header files.
sg_version() can be used to retrieve the version of the dynamic library.
SIMGRID_VERSION_MINOR, \
SIMGRID_VERSION_PATCH)
-/** Retrieves the version numbers of the used dynamic library (so, DLL or dynlib) , while
- 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);
-
-/** Contains all the parameters we got from the command line */
-XBT_PUBLIC_DATA(xbt_dynar_t) sg_cmdline;
-
/* take care of DLL usage madness */
#ifdef _XBT_DLL_EXPORT
@simgrid_need_asprintf@
@simgrid_need_vasprintf@
-#include <stdarg.h>
-
-/* snprintf related functions */
-/** @addtogroup XBT_str
- * @{ */
-/** @brief print to allocated string (reimplemented when not provided by the system)
- *
- * The functions asprintf() and vasprintf() are analogues of
- * sprintf() and vsprintf(), except that they allocate a string large
- * enough to hold the output including the terminating null byte, and
- * return a pointer to it via the first parameter. This pointer
- * should be passed to free(3) to release the allocated storage when
- * it is no longer needed.
- */
-#if defined(SIMGRID_NEED_ASPRINTF)||defined(DOXYGEN)
-XBT_PUBLIC(int) asprintf(char **ptr, const char *fmt, /*args */
- ...) _XBT_GNUC_PRINTF(2, 3);
-#endif
-/** @brief print to allocated string (reimplemented when not provided by the system)
- *
- * See asprintf()
- */
-#if defined(SIMGRID_NEED_VASPRINTF)||defined(DOXYGEN)
-XBT_PUBLIC(int) vasprintf(char **ptr, const char *fmt, va_list ap);
-#endif
-/** @brief print to allocated string
- *
- * Works just like vasprintf(), but returns a pointer to the newly
- * created string, or aborts on error.
- */
-XBT_PUBLIC(char *) bvprintf(const char *fmt, va_list ap);
-/** @brief print to allocated string
- *
- * 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);
-/** @} */
-
/* Whether mallocators were enabled in ccmake or not. */
#define MALLOCATOR_COMPILED_IN @MALLOCATOR_IS_WANTED@
/* If Model-Checking support was requested */
#cmakedefine HAVE_MC @HAVE_MC@
-SG_END_DECL()
#endif /* SIMGRID_PUBLIC_CONFIG_H */
#ifndef XBT_MISC_H
#define XBT_MISC_H
+#include <stdarg.h>
+
#include "simgrid_config.h"
/* Define _GNU_SOURCE for getline, isfinite, etc. */
XBT_PUBLIC(const char *) xbt_procname(void);
+/** Retrieves the version numbers of the used dynamic library (so, DLL or dynlib) , while
+ 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);
+
+typedef struct xbt_dynar_s s_xbt_dynar_t, *xbt_dynar_t;
+
+/** Contains all the parameters we got from the command line */
+XBT_PUBLIC_DATA(xbt_dynar_t) sg_cmdline;
+
#define XBT_BACKTRACE_SIZE 10 /* FIXME: better place? Do document */
+/* snprintf related functions */
+/** @addtogroup XBT_str
+ * @{ */
+/** @brief print to allocated string (reimplemented when not provided by the system)
+ *
+ * The functions asprintf() and vasprintf() are analogues of
+ * sprintf() and vsprintf(), except that they allocate a string large
+ * enough to hold the output including the terminating null byte, and
+ * return a pointer to it via the first parameter. This pointer
+ * should be passed to free(3) to release the allocated storage when
+ * it is no longer needed.
+ */
+#if defined(SIMGRID_NEED_ASPRINTF)||defined(DOXYGEN)
+XBT_PUBLIC(int) asprintf(char **ptr, const char *fmt, /*args */
+ ...) _XBT_GNUC_PRINTF(2, 3);
+#endif
+/** @brief print to allocated string (reimplemented when not provided by the system)
+ *
+ * See asprintf()
+ */
+#if defined(SIMGRID_NEED_VASPRINTF)||defined(DOXYGEN)
+XBT_PUBLIC(int) vasprintf(char **ptr, const char *fmt, va_list ap);
+#endif
+
+/** @brief print to allocated string
+ *
+ * Works just like vasprintf(), but returns a pointer to the newly
+ * created string, or aborts on error.
+ */
+XBT_PUBLIC(char *) bvprintf(const char *fmt, va_list ap);
+/** @brief print to allocated string
+ *
+ * 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);
+/** @} */
+
SG_END_DECL()
+
#endif /* XBT_MISC_H */