Le 08/25/11 14:44, Thomas de Grivel a icrit :
Hi,

 From ip(4) :

SYNOPSIS
#include <sys/socket.h>
#include <netinet/in.h>

However this fails :

$ cat > ip.c
#include <sys/socket.h>
#include <netinet/in.h>

int main() {
return 0;
}
^D
$ gcc ip.c
In file included from ip.c:1:
/usr//include/sys/socket.h:105: error: expected specifier-qualifier-list
before 'off_t'
/usr//include/sys/socket.h:162: error: expected specifier-qualifier-list
before 'u_int8_t'
/usr//include/sys/socket.h:180: error: expected specifier-qualifier-list
before 'u_int8_t'
/usr//include/sys/socket.h:249: error: expected specifier-qualifier-list
before 'uid_t'
/usr//include/sys/socket.h:394: error: expected specifier-qualifier-list
before 'socklen_t'
/usr//include/sys/socket.h:420: error: expected specifier-qualifier-list
before 'socklen_t'
/usr//include/sys/socket.h:476: error: expected specifier-qualifier-list
before 'caddr_t'
In file included from ip.c:1:
/usr//include/sys/socket.h:491: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/sys/socket.h:492: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/sys/socket.h:493: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/sys/socket.h:494: error: expected declaration specifiers
or '...' before 'uid_t'
/usr//include/sys/socket.h:494: error: expected declaration specifiers
or '...' before 'gid_t'
/usr//include/sys/socket.h:495: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/sys/socket.h:496: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/sys/socket.h:497: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/sys/socket.h:499: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'recv'
/usr//include/sys/socket.h:500: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'recvfrom'
/usr//include/sys/socket.h:501: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'recvmsg'
/usr//include/sys/socket.h:502: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'send'
/usr//include/sys/socket.h:503: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'sendto'
/usr//include/sys/socket.h:505: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'sendmsg'
/usr//include/sys/socket.h:506: error: expected declaration specifiers
or '...' before 'socklen_t'
In file included from ip.c:2:
/usr//include/netinet/in.h:141: error: expected specifier-qualifier-list
before 'in_addr_t'
/usr//include/netinet/in.h:225: error: expected specifier-qualifier-list
before 'u_int8_t'
/usr//include/netinet/in.h:244: error: expected specifier-qualifier-list
before 'int8_t'
In file included from /usr//include/netinet/in.h:732,
from ip.c:2:
/usr//include/netinet6/in6.h:118: error: expected
specifier-qualifier-list before 'u_int8_t'
/usr//include/netinet6/in6.h:140: error: expected
specifier-qualifier-list before 'u_int8_t'
/usr//include/netinet6/in6.h:392: error: expected
specifier-qualifier-list before 'u_long'
/usr//include/netinet6/in6.h:515: error: expected
specifier-qualifier-list before 'u_int32_t'
/usr//include/netinet6/in6.h:799: error: expected ';', ',' or ')' before
'*' token
/usr//include/netinet6/in6.h:801: error: expected '=', ',', ';', 'asm'
or '__attribute__' before '*' token
/usr//include/netinet6/in6.h:802: error: expected declaration specifiers
or '...' before 'u_int8_t'
/usr//include/netinet6/in6.h:803: error: expected declaration specifiers
or '...' before 'u_int8_t'
/usr//include/netinet6/in6.h:805: error: expected '=', ',', ';', 'asm'
or '__attribute__' before 'inet6_rthdr_space'
/usr//include/netinet6/in6.h:817: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/netinet6/in6.h:818: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/netinet6/in6.h:818: error: expected declaration specifiers
or '...' before 'u_int8_t'
/usr//include/netinet6/in6.h:819: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/netinet6/in6.h:819: error: expected declaration specifiers
or '...' before 'u_int8_t'
/usr//include/netinet6/in6.h:820: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/netinet6/in6.h:821: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/netinet6/in6.h:823: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/netinet6/in6.h:823: error: expected declaration specifiers
or '...' before 'u_int8_t'
/usr//include/netinet6/in6.h:824: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/netinet6/in6.h:825: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/netinet6/in6.h:825: error: expected declaration specifiers
or '...' before 'u_int8_t'
/usr//include/netinet6/in6.h:826: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/netinet6/in6.h:827: error: expected declaration specifiers
or '...' before 'socklen_t'
/usr//include/netinet6/in6.h:829: error: expected '=', ',', ';', 'asm'
or '__attribute__' before 'inet6_rth_space'
/usr//include/netinet6/in6.h:830: error: expected declaration specifiers
or '...' before 'socklen_t'

Including <sys/types.h> before <sys/socket.h> makes it ok.
So either the manual is wrong
or sys/socket.h or netinet/in.h is wrong.

Actually "the manual or sys/socket.h", netinet/in.h is not reached.

--
Thomas de Grivel
http://b.lowh.net/billitch

"I must plunge into the water of doubt again and again."

Reply via email to