zeek/src/zeek-setup.h
Johanna Amann 36741c2fbf Reformat
2023-11-06 09:42:46 +00:00

31 lines
899 B
C++

// See the file "COPYING" in the main distribution directory for copyright.
#pragma once
#include "zeek/Options.h"
namespace zeek::detail {
struct SetupResult {
int code = 0;
Options options;
};
/**
* Initializes Zeek's global state.
* @param argc the argument count (same semantics as main function)
* @param argv the argument strings (same semantics as main function)
* @param options if provided, those options are used instead of
* deriving them by parsing the "argv" list. The "argv" list still
* needs to be provided regardless since some functionality requires
* it, particularly, several things use the value of argv[0].
*/
SetupResult setup(int argc, char** argv, Options* options = nullptr);
/**
* Cleans up Zeek's global state.
* @param did_run_loop whether the run_loop() function was called.
*/
int cleanup(bool did_run_loop);
} // namespace zeek::detail