summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
bb671f9)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@547
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
#ifndef _SURF_SURF_PARSE_H
#define _SURF_SURF_PARSE_H
#ifndef _SURF_SURF_PARSE_H
#define _SURF_SURF_PARSE_H
+#include "xbt/misc.h"
+#include "surf/trace_mgr.h"
+
typedef enum {
TOKEN_EMPTY = 0,
TOKEN_LP = 512,
typedef enum {
TOKEN_EMPTY = 0,
TOKEN_LP = 512,
e_surf_token_t surf_parse(void);
void find_section(const char* file, const char* section_name);
void close_section(const char* section_name);
e_surf_token_t surf_parse(void);
void find_section(const char* file, const char* section_name);
void close_section(const char* section_name);
+void surf_parse_float(xbt_maxmin_float_t *value);
+void surf_parse_trace(tmgr_trace_t *trace);
+
/* Should not be called if you use the previous "section" functions */
void surf_parse_open(const char *file);
/* Should not be called if you use the previous "section" functions */
void surf_parse_open(const char *file);
+void surf_parse_float(xbt_maxmin_float_t *value)
+{
+ e_surf_token_t token;
+ int ret = 0;
+
+ token = surf_parse(); /* power_scale */
+ xbt_assert1((token == TOKEN_WORD), "Parse error line %d", line_pos);
+ ret = sscanf(surf_parse_text, XBT_MAXMIN_FLOAT_T, value);
+ xbt_assert2((ret==1), "Parse error line %d : %s not a number", line_pos,
+ surf_parse_text);
+}
+void surf_parse_trace(tmgr_trace_t *trace)
+{
+ e_surf_token_t token;
+
+ token = surf_parse(); /* power_trace */
+ xbt_assert1((token == TOKEN_WORD), "Parse error line %d", line_pos);
+ if (strcmp(surf_parse_text, "") == 0)
+ *trace = NULL;
+ else
+ *trace = tmgr_trace_new(surf_parse_text);
+}
/* Local variables: */
/* mode: c */
/* End: */
/* Local variables: */
/* mode: c */
/* End: */