diff options
Diffstat (limited to 'boot/visit/visit.c')
| -rw-r--r-- | boot/visit/visit.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/boot/visit/visit.c b/boot/visit/visit.c new file mode 100644 index 0000000..8bc6cf7 --- /dev/null +++ b/boot/visit/visit.c @@ -0,0 +1,20 @@ +/* + * useful shared visit system helpers. + * + * Copyright (c) 2026, Mel G. <mel@rnrd.eu> + * + * SPDX-License-Identifier: MPL-2.0 + */ + +#pragma once + +#include "../catboot.h" + +#define VISIT(visit_function, node) visit->table->visit_function(visit, node); + +#define VISIT_MAYBE(visit_function, node) \ + if (node) visit->table->visit_function(visit, node) + +#define DATA_FOR_VISIT(type, name) \ + type* name = (type*)visit->user_data; \ + if (!name) { failure("visit user data is NULL for " #name); } |
