diff --git a/g10/keydb-private.h b/g10/keydb-private.h index 1b661a423..dae05d658 100644 --- a/g10/keydb-private.h +++ b/g10/keydb-private.h @@ -23,13 +23,7 @@ #include #include "../common/membuf.h" - - -/* Ugly forward declarations. */ -struct keyring_handle; -typedef struct keyring_handle *KEYRING_HANDLE; -struct keybox_handle; -typedef struct keybox_handle *KEYBOX_HANDLE; +#include "../kbx/keybox-fwddecl.h" /* This is for keydb.c and only used in non-keyboxd mode. */ diff --git a/kbx/Makefile.am b/kbx/Makefile.am index 19bdb1061..596a89b8e 100644 --- a/kbx/Makefile.am +++ b/kbx/Makefile.am @@ -44,7 +44,7 @@ common_libs = $(libcommon) commonpth_libs = $(libcommonpth) common_sources = \ - keybox.h keybox-defs.h keybox-search-desc.h \ + keybox.h keybox-defs.h keybox-search-desc.h keybox-fwddecl.h \ keybox-util.c \ keybox-init.c \ keybox-blob.c \ diff --git a/kbx/keybox-fwddecl.h b/kbx/keybox-fwddecl.h new file mode 100644 index 000000000..3ae1c2c31 --- /dev/null +++ b/kbx/keybox-fwddecl.h @@ -0,0 +1,30 @@ +/* keybox-fwddecl.h - Keybox specific forward declarations and definitions. + * Copyright (C) 2025 g10 Code GmbH + * + * This file is part of GnuPG. + * + * GnuPG is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * GnuPG is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +#ifndef KEYBOX_FWDDECL_H +#define KEYBOX_FWDDECL_H 1 + +struct keyring_handle; +typedef struct keyring_handle *KEYRING_HANDLE; + +struct keybox_handle; +typedef struct keybox_handle *KEYBOX_HANDLE; + +#endif /*KEYBOX_FWDDECL_H*/ diff --git a/kbx/keybox.h b/kbx/keybox.h index 1146eca31..5aa0de57d 100644 --- a/kbx/keybox.h +++ b/kbx/keybox.h @@ -28,13 +28,12 @@ extern "C" { #include "../common/iobuf.h" #include "keybox-search-desc.h" +#include "keybox-fwddecl.h" #ifdef KEYBOX_WITH_X509 # include #endif -typedef struct keybox_handle *KEYBOX_HANDLE; - typedef enum {