gcc compile time type resolution

view story

http://stackoverflow.com – I have three files, say A.c , B.c and C.c, all of which #include common.h In common.h, I include "sys/socket.h" and I protect the common.h by macros: #ifndef __COMMON_H #define __COMMON_H // body of file goes here #endif When i compile the code, I get several errors such as below In file included from /usr/include/sys/socket.h:40, from tcpperf.h:4, from wrapunix.c:1: /usr/include/bits/socket.h:425: error: conflicting types for 'recvmmsg' /usr/include/bits/socket.h:425: note: previous declaration of 'recvmmsg' was here In file included from /usr/include/sys/socket (HowTos)