X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fd3561d45e21b43cd128804f53bd73f6076c58e0..1a61b7d465d6e6e5fc1fa6e8ee0f8cdab9ebaba6:/include/msg/datatypes.h diff --git a/include/msg/datatypes.h b/include/msg/datatypes.h index fe6cf111bc..08bd974a58 100644 --- a/include/msg/datatypes.h +++ b/include/msg/datatypes.h @@ -7,15 +7,17 @@ #ifndef MSG_DATATYPE_H #define MSG_DATATYPE_H +#include "xbt/misc.h" + +BEGIN_DECL() + +/** \defgroup m_datatypes_management MSG Data Types + \brief This section describes the different datatypes provided by MSG. +*/ /********************************* Host **************************************/ -struct s_m_host { - char *name; /* host name if any */ - void *simdata; /* simulator data */ - void *data; /* user data */ -}; -/** \brief Host datatype +/** @name Host datatype \ingroup m_datatypes_management A location (or host) is any possible place where @@ -27,16 +29,17 @@ struct s_m_host { \see m_host_management */ -typedef struct s_m_host *m_host_t; - +/* @{ */ +typedef struct simdata_host *simdata_host_t; +typedef struct m_host { + char *name; /**< host name if any */ + simdata_host_t simdata; /**< simulator data */ + void *data; /**< user data */ +} s_m_host_t, *m_host_t; +/* @} */ /********************************* Task **************************************/ -struct s_m_task { - char *name; /* host name if any */ - void *simdata; /* simulator data */ - void *data; /* user data */ -}; -/** \brief Task datatype +/** @name Task datatype \ingroup m_datatypes_management A task may then be defined by a computing @@ -44,42 +47,59 @@ struct s_m_task { data. \see m_task_management */ -typedef struct s_m_task *m_task_t; +/* @{ */ +typedef struct simdata_task *simdata_task_t; +typedef struct m_task { + char *name; /* host name if any */ + simdata_task_t simdata; /* simulator data */ + void *data; /* user data */ +} s_m_task_t, *m_task_t; /** \brief Default value for an uninitialized #m_task_t. \ingroup m_datatypes_management */ #define MSG_TASK_UNINITIALIZED NULL + +/* @} */ + /******************************* Process *************************************/ -struct s_m_process { - char *name; /* process name if any */ - void *simdata; /* simulator data */ - void *data; /* user data */ -}; -/** \brief Agent datatype +/** @name Agent datatype \ingroup m_datatypes_management + An agent may be defined as a code, with some private data, executing in a location. \see m_process_management */ -typedef struct s_m_process *m_process_t; -/** \brief Agent code datatype - \ingroup m_datatypes_management +/* @{ */ +typedef struct simdata_process *simdata_process_t; +typedef struct m_process { + /** A name */ + /** process name if any */ + char *name; + simdata_process_t simdata; /* simulator data */ + void *data; /* user data */ +} s_m_process_t, *m_process_t; + +/** The code of an agent is a m_process_code_t, i.e. a function with no arguments returning no value. \see m_process_management */ typedef int(*m_process_code_t)(int argc,char *argv[]) ; +/* @} */ /********************************** Channel **********************************/ -/** \brief Channel datatype +/** @name Channel datatype \ingroup m_datatypes_management + A channel is a number and identifies a mailbox type (just as a port number does). \see m_channel_management */ +/* @{ */ typedef int m_channel_t; +/* @} */ /****************************** Error handling *******************************/ /** \brief Error handling @@ -102,27 +122,21 @@ typedef enum { MSG_VERBOSE } MSG_outputmode_t; +/** \deprecated Network sharing mechanism + \ingroup m_datatypes_management*/ typedef enum { MSG_STORE_AND_FORWARD = 1, /* 0 means uninitialized value */ MSG_TCP } MSG_sharing_t; -/************************ deprecated *****************************************/ -/* /\********************************* Link **************************************\/ */ -/* struct s_m_link { */ -/* char *name; /\* link name if any *\/ */ -/* void *simdata; /\* simulator data *\/ */ -/* void *data; /\* user data *\/ */ -/* }; */ - -/* /\** \brief Link datatype */ -/* \ingroup m_datatypes_management */ - -/* A link is an agglomeration of communicating resources */ -/* representing a set of physical network links. */ - -/* \see m_link_management */ -/* *\/ */ -/* typedef struct s_m_link *m_link_t; */ +/** \deprecated Link datatype + * \ingroup m_datatypes_management + * The notion of link was present in the earliest versions of MSG. + * It was an agglomeration of communicating resources representing a set of + * physical network links. This abstraction a disappeared because in real-life, + * it is generally not possible to interact directly with a link... + */ +typedef struct m_link *m_link_t; +END_DECL() #endif