/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once

/* IWYU pragma: always_keep */

#include "sd-forward.h"         /* IWYU pragma: export */

typedef enum BusAuth BusAuth;
typedef enum BusSlotType BusSlotType;
typedef enum BusState BusState;

typedef struct BusFilterCallback BusFilterCallback;

typedef struct BusMatchCallback BusMatchCallback;
typedef struct BusMatchComponent BusMatchComponent;
typedef struct BusMatchNode BusMatchNode;
typedef enum BusMatchNodeType BusMatchNodeType;
typedef enum BusMatchScope BusMatchScope;

typedef struct BusNode BusNode;
typedef struct BusNodeCallback BusNodeCallback;
typedef struct BusNodeEnumerator BusNodeEnumerator;
typedef struct BusNodeObjectManager BusNodeObjectManager;
typedef struct BusNodeVTable BusNodeVTable;
typedef struct BusVTableMember BusVTableMember;

typedef struct BusReplyCallback BusReplyCallback;

typedef struct BusMessageBodyPart BusMessageBodyPart;
typedef struct BusMessageContainer BusMessageContainer;
typedef struct BusMessageHeader BusMessageHeader;

typedef struct BusIntrospect BusIntrospect;
