06.02.2014 19:30, Alexander Graf wrote:
> The checksum calculation header exports a function that refers to struct
> iov which is defined in iov.h. Include the header so that the compiler
> knows what this struct is about.

Alternatively (and I sometimes prefer it this way), one can just
declare `struct iovec;' instead of including whole header, because
we don't actually use any definitions from there, and users of
checksum.h wont be including extra dependencies which they don't
use...  Like this:

--- cut ---
Subject: net: declare struct iovec in checksum.h to fix compiler warning
From: Michael Tokarev <m...@tls.msk.ru>

The checksum calculation header exports a function that refers to
struct iov defined in iov.h.  Without including the former, build
fails like this:

  In file included from hw/net/fsl_etsec/rings.c:24:0:
  include/net/checksum.h:51:31: error: ‘struct iovec’ declared inside parameter 
list [-Werror]
  include/net/checksum.h:51:31: error: its scope is only this definition or 
declaration, which is probably not what you want [-Werror]

Mention struct iovec there.

Signed-off-by: Michael Tokarev <m...@tls.msk.ru>

diff --git a/include/net/checksum.h b/include/net/checksum.h
index 80203fb..2d7a363 100644
--- a/include/net/checksum.h
+++ b/include/net/checksum.h
@@ -19,6 +19,7 @@
 #define QEMU_NET_CHECKSUM_H

 #include <stdint.h>
+struct iovec;

 uint32_t net_checksum_add_cont(int len, uint8_t *buf, int seq);
 uint16_t net_checksum_finish(uint32_t sum);
--- cut ---
BTW, this is a -trivial matherial ;)

/mjt

Reply via email to