bootstrap/include/parser.h

26 lines
710 B
C

#ifndef _BOOTSTRAP_PARSER_H
#define _BOOTSTRAP_PARSER_H
#include "cJSON.h"
#include "config.h"
enum SpecParseError {
// The `spec.json` file exists but cannot be open.
SPE_CANNOT_OPEN = 1,
// The JSON of the corresponding file is not syntactically valid.
SPE_INVALID_SYNTAX,
};
/*
Reads in the `spec.json` file relative to the paths of the provided @Config.
A spec directory does not necessarily contain a `spec.json` file. If this file
cannot be found, the @parsed pointer is set to NULL with a success return code.
@return: 0 on success and a @SpecParseError otherwise.
*/
enum SpecParseError
parse_spec_json(const struct Config *const config, cJSON **parsed);
#endif /* _BOOTSTRAP_PARSER_H */