raw socket programming
Alin-Adrian Anton
aanton at reversedhell.net
Mon Jul 7 07:10:29 PDT 2003
Tom Servo wrote:
>Off the top of my head this appears to be an include sequencing/circular
>include problem. Check the type that 'n_long' is being defined as and make
>sure that the proper includes that define the type are defined before the
>variable is defined and make sure that it is not getting run over. Is that
>the only files that you are including?
>-ts
>
>
>
>>Hey folks,
>>
>>I am playing with raw sockets on a FreeBSD 4.8 STABLE. This is the
>>include section from my file:
>>
>>#include <sys/types.h>
>>#include <sys/socket.h>
>>#include <stdio.h>
>>#include <string.h>
>>#include <errno.h>
>>#include <netinet/in.h>
>>#include <netinet/ip.h>
>>#include <unistd.h>
>>#include <netinet/tcp.h>
>>
>>When i try to compile the code, this is what I get:
>>%cc -o raw raw.c
>>In file included from raw.c:7:
>>/usr/include/netinet/ip.h:156: syntax error before `n_long'
>>/usr/include/netinet/ip.h:159: syntax error before `n_long'
>>%
>>
>>Errors like that were many more, but I rearranged the included files in
>>this particular order, and the huge number of errors was reduced to what
>>I pasted. Before, there were errors in tcp.h and etc.
>>
>>I would really appreciate an advice of what else to include/not to
>>include in order to get things right.
>>
>>Thanks in advance!
>>
>>Yours Sincerely,
>>Alin.
>>
>>
>
>
>
>
>
>
>
Well, I don't wanna be idiot, perhaps I am too tired, but n_long appears
in ip.h defined as :
beast# grep ipt_time /usr/include/netinet/ip.h
union ipt_timestamp {
n_long ipt_time[1];
n_long ipt_time;
} ipt_timestamp;
beast# grep ipt_time /usr/include/netinet/*
/usr/include/netinet/ip.h: union ipt_timestamp {
/usr/include/netinet/ip.h: n_long ipt_time[1];
/usr/include/netinet/ip.h: n_long ipt_time;
/usr/include/netinet/ip.h: } ipt_timestamp;
beast#
And, I simply don't find where ipt_time is defined ! I suppose it is
structure, perhaps it is of type ipt_timestamp, *g*.
And yes, those are all the files I include, nothing more, nothing less.
Alin.
More information about the freebsd-hackers
mailing list