Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
6b0b22581ae07cfa9c8d915de116da5a504478e5
[simgrid.git] / include / gras / core.h
1 /* $Id$                     */
2
3 /* gras/core.h - Unsorted part of the GRAS public interface                 */
4
5 /* Copyright (c) 2003, 2004 Martin Quinson. All rights reserved.            */
6
7 /* This program is free software; you can redistribute it and/or modify it
8  * under the terms of the license (GNU LGPL) which comes with this package. */
9
10 #ifndef GRAS_CORE_H
11 #define GRAS_CORE_H
12
13 #include <stddef.h>    /* offsetof() */
14 #include <sys/types.h>  /* size_t */
15 #include <stdarg.h>
16 #include "xbt/misc.h"
17
18
19 /* /\*! C++ users need love *\/ */
20 /* #ifndef BEGIN_DECL */
21 /* # ifdef __cplusplus */
22 /* #  define BEGIN_DECL() extern "C" { */
23 /* # else */
24 /* #  define BEGIN_DECL()  */
25 /* # endif */
26 /* #endif */
27
28 /* /\*! C++ users need love *\/ */
29 /* #ifndef END_DECL */
30 /* # ifdef __cplusplus */
31 /* #  define END_DECL() } */
32 /* # else */
33 /* #  define END_DECL()  */
34 /* # endif */
35 /* #endif */
36 /* /\* End of cruft for C++ *\/ */
37
38 BEGIN_DECL()
39
40 /* **************************************************************************
41  * Garbage collection support
42  * **************************************************************************/
43 typedef enum { free_after_use, free_never } e_xbt_free_directive_t;
44
45
46 /* **************************************************************************
47  * Wrappers over OS functions
48  * **************************************************************************/
49
50 /**
51  * gras_get_my_fqdn:
52  *
53  * Returns the fully-qualified name of the host machine, or NULL if the name
54  * cannot be determined.  Always returns the same value, so multiple calls
55  * cause no problems.
56  */
57 const char *
58 gras_get_my_fqdn(void);
59
60 void gras_init(int *argc,char **argv, const char *defaultlog);
61 void gras_exit(void);
62
63 END_DECL()
64
65 #endif /* GRAS_CORE_H */
66