#ifndef GRAPH_H_INCLUDED
#define GRAPH_H_INCLUDED
#include "list.h"
/** Graph structure (forward declaration) */
struct s_graph;
typedef struct s_graph graph;
/** Creates a new graph. */
extern graph* graphCreate(const void* name);
/** Connects two graphs in one direction. */
extern void graphConnect(graph* src, const graph* dest);
/** Sets a color value for a certain graph node. */
extern void graphColorNode(graph* src, unsigned long color);
/** Sets a name for the graph node. */
extern void graphNameNode(graph* src, const void* name);
/** Returns a color value of a graph. */
extern unsigned long graphGetColorNode(graph* src);
/** Returns the nodes name. */
extern void* graphGetNameNode(graph* src);
/** Returns a list of all the other graphs that the node is connected to. */
extern list* graphGetConnections(graph* src);
#endif