-/* Copyright (c) 2004, 2005, 2007, 2008, 2009, 2010. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2004-2012. The SimGrid Team. All rights reserved. */
/* 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. */
#define MSG_DATATYPE_H
#include "xbt/misc.h"
#include "xbt/file_stat.h"
+#include "simgrid/simix.h"
#include "simgrid_config.h" // for HAVE_TRACING
SG_BEGIN_DECL()
-/* ******************************** Host ************************************ */
+/* ******************************** Mailbox ************************************ */
+
+/** @brief Mailbox datatype
+ * @ingroup msg_task_usage
+ *
+ * Object representing a communication rendez-vous point, on which
+ * the sender finds the receiver it wants to communicate with. As a
+ * MSG user, you will only rarely manipulate any of these objects
+ * directly, since most of the public interface (such as
+ * #MSG_task_send and friends) hide this object behind a string
+ * alias. That mean that you don't provide the mailbox on which you
+ * want to send your task, but only the name of this mailbox. */
+typedef struct s_smx_rvpoint *msg_mailbox_t;
-typedef struct simdata_host *simdata_host_t;
+
+/* ******************************** Host ************************************ */
typedef struct m_host {
- char *name; /**< @brief host name if any */
- simdata_host_t simdata; /**< @brief simulator data */
- void *data; /**< @brief user data */
+ xbt_swag_t vms;
+ smx_host_t smx_host; /**< SIMIX representation of this host */
+#ifdef MSG_USE_DEPRECATED
+ msg_mailbox_t *mailboxes; /**< the channels */
+#endif
} s_m_host_t;
/** @brief Host datatype
typedef int m_channel_t;
#endif
-/* ******************************** Mailbox ************************************ */
-
-/** @brief Mailbox datatype
- * @ingroup msg_task_usage
- *
- * Object representing a communication rendez-vous point, on which
- * the sender finds the receiver it wants to communicate with. As a
- * MSG user, you will only rarely manipulate any of these objects
- * directly, since most of the public interface (such as
- * #MSG_task_send and friends) hide this object behind a string
- * alias. That mean that you don't provide the mailbox on which you
- * want to send your task, but only the name of this mailbox. */
-typedef struct s_smx_rvpoint *msg_mailbox_t;
SG_END_DECL()