about summary refs log tree commit diff
path: root/boot/visit/visit.c
blob: 8bc6cf75dceb0ffeae15c223d7bbf653aa74f756 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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); }