mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
[Spicy] Extend functionality of export
in EVT files.
We now support selecting which fields of a unit type get exported into the automatically created Zeek record; as well as selecting which fields get a `&log` attribute added automatically to either all fields or to selected fields. Syntax: - To export only selected fields: export Foo::X with { field1, field3 }; - To export all but selected fields: export Foo::X without { field2, field3 }; - To `&log` all fields: export Foo::X &log; - To `&log` only selected fields: export Foo::X with { field1 &log, field3 }; # exports (only) field1 and field3, and marks field1 for logging Syntax is still subject to change. Closes #3218. Closes #3219.
This commit is contained in:
parent
83029ecafc
commit
cdadd934ce
13 changed files with 287 additions and 11 deletions
|
@ -151,7 +151,7 @@ extern TypePtr create_enum_type(
|
|||
const std::string& ns, const std::string& id,
|
||||
const hilti::rt::Vector<std::tuple<std::string, hilti::rt::integer::safe<int64_t>>>& labels);
|
||||
|
||||
using RecordField = std::tuple<std::string, TypePtr, hilti::rt::Bool>; // (ID, type, optional)
|
||||
using RecordField = std::tuple<std::string, TypePtr, hilti::rt::Bool, hilti::rt::Bool>; // (ID, type, optional, &log)
|
||||
extern TypePtr create_record_type(const std::string& ns, const std::string& id,
|
||||
const hilti::rt::Vector<RecordField>& fields);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue