Message ID | 1458054221-16923-14-git-send-email-armbru@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Mar 15, 2016 at 04:03:39PM +0100, Markus Armbruster wrote: > qemu-common.h should only be included by .c files. Its file comment > explains why: "No header file should depend on qemu-common.h, as this > would easily lead to circular header dependencies." > > Several include/crypto/ headers include qemu-common.h, but either need > just qapi-types.h from it, or nothing at all. Replace or drop the > include accordingly. tests/test-crypto-secret.c now misses > qemu/module.h, so include it there. > > Signed-off-by: Markus Armbruster <armbru@redhat.com> > --- > include/crypto/cipher.h | 2 +- > include/crypto/hash.h | 2 +- > include/crypto/init.h | 2 -- > include/crypto/secret.h | 1 - > include/crypto/tlscreds.h | 1 - > tests/test-crypto-secret.c | 1 + > 6 files changed, 3 insertions(+), 6 deletions(-) > > diff --git a/include/crypto/cipher.h b/include/crypto/cipher.h > index c04c3ac..d770c48 100644 > --- a/include/crypto/cipher.h > +++ b/include/crypto/cipher.h > @@ -21,7 +21,7 @@ > #ifndef QCRYPTO_CIPHER_H__ > #define QCRYPTO_CIPHER_H__ > > -#include "qemu-common.h" > +#include "qapi-types.h" > > typedef struct QCryptoCipher QCryptoCipher; > > diff --git a/include/crypto/hash.h b/include/crypto/hash.h > index aebccd1..f38caed 100644 > --- a/include/crypto/hash.h > +++ b/include/crypto/hash.h > @@ -21,7 +21,7 @@ > #ifndef QCRYPTO_HASH_H__ > #define QCRYPTO_HASH_H__ > > -#include "qemu-common.h" > +#include "qapi-types.h" > > /* See also "QCryptoHashAlgorithm" defined in qapi/crypto.json */ > > diff --git a/include/crypto/init.h b/include/crypto/init.h > index 4836a37..2513ed0 100644 > --- a/include/crypto/init.h > +++ b/include/crypto/init.h > @@ -21,8 +21,6 @@ > #ifndef QCRYPTO_INIT_H__ > #define QCRYPTO_INIT_H__ > > -#include "qemu-common.h" > - > int qcrypto_init(Error **errp); Nothing provides the definition of the 'Error' type now. Needs to add in #include "qapi/error.h" Regards, Daniel
"Daniel P. Berrange" <berrange@redhat.com> writes: > On Tue, Mar 15, 2016 at 04:03:39PM +0100, Markus Armbruster wrote: >> qemu-common.h should only be included by .c files. Its file comment >> explains why: "No header file should depend on qemu-common.h, as this >> would easily lead to circular header dependencies." >> >> Several include/crypto/ headers include qemu-common.h, but either need >> just qapi-types.h from it, or nothing at all. Replace or drop the >> include accordingly. tests/test-crypto-secret.c now misses >> qemu/module.h, so include it there. >> >> Signed-off-by: Markus Armbruster <armbru@redhat.com> >> --- >> include/crypto/cipher.h | 2 +- >> include/crypto/hash.h | 2 +- >> include/crypto/init.h | 2 -- >> include/crypto/secret.h | 1 - >> include/crypto/tlscreds.h | 1 - >> tests/test-crypto-secret.c | 1 + >> 6 files changed, 3 insertions(+), 6 deletions(-) >> >> diff --git a/include/crypto/cipher.h b/include/crypto/cipher.h >> index c04c3ac..d770c48 100644 >> --- a/include/crypto/cipher.h >> +++ b/include/crypto/cipher.h >> @@ -21,7 +21,7 @@ >> #ifndef QCRYPTO_CIPHER_H__ >> #define QCRYPTO_CIPHER_H__ >> >> -#include "qemu-common.h" >> +#include "qapi-types.h" >> >> typedef struct QCryptoCipher QCryptoCipher; >> >> diff --git a/include/crypto/hash.h b/include/crypto/hash.h >> index aebccd1..f38caed 100644 >> --- a/include/crypto/hash.h >> +++ b/include/crypto/hash.h >> @@ -21,7 +21,7 @@ >> #ifndef QCRYPTO_HASH_H__ >> #define QCRYPTO_HASH_H__ >> >> -#include "qemu-common.h" >> +#include "qapi-types.h" >> >> /* See also "QCryptoHashAlgorithm" defined in qapi/crypto.json */ >> >> diff --git a/include/crypto/init.h b/include/crypto/init.h >> index 4836a37..2513ed0 100644 >> --- a/include/crypto/init.h >> +++ b/include/crypto/init.h >> @@ -21,8 +21,6 @@ >> #ifndef QCRYPTO_INIT_H__ >> #define QCRYPTO_INIT_H__ >> >> -#include "qemu-common.h" >> - >> int qcrypto_init(Error **errp); > > Nothing provides the definition of the 'Error' type now. > Needs to add in > > #include "qapi/error.h" qemu/typedefs.h does, since PATCH 01. Standard technique to disentangle includes.
diff --git a/include/crypto/cipher.h b/include/crypto/cipher.h index c04c3ac..d770c48 100644 --- a/include/crypto/cipher.h +++ b/include/crypto/cipher.h @@ -21,7 +21,7 @@ #ifndef QCRYPTO_CIPHER_H__ #define QCRYPTO_CIPHER_H__ -#include "qemu-common.h" +#include "qapi-types.h" typedef struct QCryptoCipher QCryptoCipher; diff --git a/include/crypto/hash.h b/include/crypto/hash.h index aebccd1..f38caed 100644 --- a/include/crypto/hash.h +++ b/include/crypto/hash.h @@ -21,7 +21,7 @@ #ifndef QCRYPTO_HASH_H__ #define QCRYPTO_HASH_H__ -#include "qemu-common.h" +#include "qapi-types.h" /* See also "QCryptoHashAlgorithm" defined in qapi/crypto.json */ diff --git a/include/crypto/init.h b/include/crypto/init.h index 4836a37..2513ed0 100644 --- a/include/crypto/init.h +++ b/include/crypto/init.h @@ -21,8 +21,6 @@ #ifndef QCRYPTO_INIT_H__ #define QCRYPTO_INIT_H__ -#include "qemu-common.h" - int qcrypto_init(Error **errp); #endif /* QCRYPTO_INIT_H__ */ diff --git a/include/crypto/secret.h b/include/crypto/secret.h index 60f2a50..b7392c6 100644 --- a/include/crypto/secret.h +++ b/include/crypto/secret.h @@ -21,7 +21,6 @@ #ifndef QCRYPTO_SECRET_H__ #define QCRYPTO_SECRET_H__ -#include "qemu-common.h" #include "qom/object.h" #define TYPE_QCRYPTO_SECRET "secret" diff --git a/include/crypto/tlscreds.h b/include/crypto/tlscreds.h index 4bf1d2e..8e2babd 100644 --- a/include/crypto/tlscreds.h +++ b/include/crypto/tlscreds.h @@ -21,7 +21,6 @@ #ifndef QCRYPTO_TLSCRED_H__ #define QCRYPTO_TLSCRED_H__ -#include "qemu-common.h" #include "qom/object.h" #ifdef CONFIG_GNUTLS diff --git a/tests/test-crypto-secret.c b/tests/test-crypto-secret.c index 43e2952..aa26c20 100644 --- a/tests/test-crypto-secret.c +++ b/tests/test-crypto-secret.c @@ -24,6 +24,7 @@ #include "crypto/init.h" #include "crypto/secret.h" #include "qapi/error.h" +#include "qemu/module.h" static void test_secret_direct(void) {
qemu-common.h should only be included by .c files. Its file comment explains why: "No header file should depend on qemu-common.h, as this would easily lead to circular header dependencies." Several include/crypto/ headers include qemu-common.h, but either need just qapi-types.h from it, or nothing at all. Replace or drop the include accordingly. tests/test-crypto-secret.c now misses qemu/module.h, so include it there. Signed-off-by: Markus Armbruster <armbru@redhat.com> --- include/crypto/cipher.h | 2 +- include/crypto/hash.h | 2 +- include/crypto/init.h | 2 -- include/crypto/secret.h | 1 - include/crypto/tlscreds.h | 1 - tests/test-crypto-secret.c | 1 + 6 files changed, 3 insertions(+), 6 deletions(-)