/*1* SPDX-License-Identifier: ISC2*3* Copyright (c) 2020, 2023 Todd C. Miller <[email protected]>4*5* Permission to use, copy, modify, and distribute this software for any6* purpose with or without fee is hereby granted, provided that the above7* copyright notice and this permission notice appear in all copies.8*9* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES10* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF11* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR12* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES13* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN14* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF15* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.16*/1718#ifndef PARSE_JSON_H19#define PARSE_JSON_H2021#include <sudo_json.h>22#include <sudo_queue.h>2324TAILQ_HEAD(json_item_list, json_item);2526struct eventlog_json_object {27struct json_item *parent;28struct json_item_list items;29};3031struct json_item {32TAILQ_ENTRY(json_item) entries;33char *name; /* may be NULL for first brace */34unsigned int lineno;35enum json_value_type type;36union {37struct eventlog_json_object child;38char *string;39long long number;40id_t id;41bool boolean;42} u;43};4445#endif /* PARSE_JSON_H */464748