1*080adf91SPatrick Mooney /* 2*080adf91SPatrick Mooney * This file and its contents are supplied under the terms of the 3*080adf91SPatrick Mooney * Common Development and Distribution License (), version 1.0. 4*080adf91SPatrick Mooney * You may only use this file in accordance with the terms of version 5*080adf91SPatrick Mooney * 1.0 of the CDDL. 6*080adf91SPatrick Mooney * 7*080adf91SPatrick Mooney * A full copy of the text of the CDDL should have accompanied this 8*080adf91SPatrick Mooney * source. A copy of the CDDL is also available via the Internet at 9*080adf91SPatrick Mooney * http://www.illumos.org/license/CDDL. 10*080adf91SPatrick Mooney */ 11*080adf91SPatrick Mooney 12*080adf91SPatrick Mooney /* 13*080adf91SPatrick Mooney * Copyright 2020 Oxide Computer Company 14*080adf91SPatrick Mooney */ 15*080adf91SPatrick Mooney 16*080adf91SPatrick Mooney #ifndef _PARSER_RUNNER_H_ 17*080adf91SPatrick Mooney #define _PARSER_RUNNER_H_ 18*080adf91SPatrick Mooney 19*080adf91SPatrick Mooney #include <sys/types.h> 20*080adf91SPatrick Mooney 21*080adf91SPatrick Mooney struct parser_ctx; 22*080adf91SPatrick Mooney 23*080adf91SPatrick Mooney struct parser_entry { 24*080adf91SPatrick Mooney uchar_t *pe_msg; 25*080adf91SPatrick Mooney size_t pe_msglen; 26*080adf91SPatrick Mooney uchar_t *pe_hash; 27*080adf91SPatrick Mooney }; 28*080adf91SPatrick Mooney 29*080adf91SPatrick Mooney typedef struct parser_ctx parser_ctx_t; 30*080adf91SPatrick Mooney typedef struct parser_entry parser_entry_t; 31*080adf91SPatrick Mooney 32*080adf91SPatrick Mooney parser_ctx_t *parser_init(const char *, size_t, int *); 33*080adf91SPatrick Mooney void parser_fini(parser_ctx_t *); 34*080adf91SPatrick Mooney parser_entry_t *parser_read(parser_ctx_t *, int *); 35*080adf91SPatrick Mooney void parser_free(parser_entry_t *); 36*080adf91SPatrick Mooney 37*080adf91SPatrick Mooney int digest_runner(char *, const char *, size_t); 38*080adf91SPatrick Mooney 39*080adf91SPatrick Mooney #endif /* _PARSER_RUNNER_H_ */ 40