ddg_xml.h
/*
Copyright Universite de Versailles Saint-Quentin en Yvelines 2009
AUTHORS: Sebastien Briais, Sid Touati
This file is part of GDD.
GDD is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
GDD is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with GDD. If not, see
<http://www.gnu.org/licenses/>.
*/
#ifndef __GDD_XML_H
#define __GDD_XML_H
/** \file ddg_xml.h
\brief DDG parser */
#include "arch.h"
#include <SCEDA/graph.h>
#include <stdio.h>
/** Parse a DDG from a file stream.
@param[in] ignore_interloop = TRUE to ignore interloop dependency, FALSE otherwise
@param[in] arch = associated architecture
@param[in] stream = file stream
@param[out] ii_min = min II (filled by the function if not NULL)
@return the parsed DDG or NULL in case of error */
SCEDA_Graph *GDD_of_xml_stream(int ignore_interloop, GDD_Arch *arch, FILE *stream, int *ii_min);
/** Parse a DDG from a file.
@param[in] ignore_interloop = TRUE to ignore interloop dependency, FALSE otherwise
@param[in] arch = associated architecture
@param[in] filename = filename
@param[out] ii_min = min II (filled by the function if not NULL)
@return the parsed DDG or NULL in case of error */
SCEDA_Graph *GDD_of_xml_file(int ignore_interloop, GDD_Arch *arch, const char *filename, int *ii_min);
/** XML dump of a GDD to a stream
@param[in] stream = stream on which the dump will occur
@param[in] ddg = DDG
@param[in] ii_min = MII
*/
void GDD_to_xml_stream(FILE *stream, SCEDA_Graph *ddg, int ii_min);
#endif