diff mbox

[13/15] include/crypto: Include qapi-types.h instead of qemu-common.h

Message ID 1458054221-16923-14-git-send-email-armbru@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Markus Armbruster March 15, 2016, 3:03 p.m. UTC
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(-)

Comments

Daniel P. Berrangé March 15, 2016, 3:51 p.m. UTC | #1
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
Markus Armbruster March 15, 2016, 4:24 p.m. UTC | #2
"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 mbox

Patch

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)
 {