zeek/src/input.h
Benjamin Bannier f5a76c1aed Reformat Zeek in Spicy style
This largely copies over Spicy's `.clang-format` configuration file. The
one place where we deviate is header include order since Zeek depends on
headers being included in a certain order.
2023-10-30 09:40:55 +01:00

52 lines
1.4 KiB
C++

// See the file "COPYING" in the main distribution directory for copyright.
#pragma once
#include <string>
#include <vector>
#include "zeek/ZeekList.h"
// These are required by the lexer in scan.l and are intentionally not namespaced.
extern int yyparse();
extern int yydebug;
extern int zeeklex();
extern char last_tok[128];
extern void add_essential_input_file(const char* file);
extern void add_input_file(const char* file);
extern void add_input_file_at_front(const char* file);
// Adds the substrings (using the given delimiter) in a string to the
// given namelist.
extern void add_to_name_list(char* s, char delim, zeek::name_list& nl);
extern void begin_RE();
extern void do_atif(zeek::detail::Expr* expr);
extern void do_atifdef(const char* id);
extern void do_atifndef(const char* id);
extern void do_atelse();
extern void do_atendif();
extern void reject_directive(zeek::detail::Stmt* s);
extern void do_doc_token_start();
extern void do_doc_token_stop();
extern int line_number;
extern const char* filename;
namespace zeek::detail {
class Stmt;
extern int zeek_argc;
extern char** zeek_argv;
extern const char* prog;
extern std::vector<std::string> zeek_script_prefixes; // -p flag
extern const char* command_line_policy; // -e flag
extern std::vector<std::string> params;
extern Stmt* stmts; // global statements
} // namespace zeek::detail