Date: Sun, 06 Jul 2003 05:14:38 +0300 From: Alin-Adrian Anton <aanton@reversedhell.net> To: Tom Servo <xtomservox@hotpop.com> Cc: freebsd-hackers@freebsd.org Subject: Re: raw socket programming Message-ID: <3F07860E.9060702@reversedhell.net> In-Reply-To: <0193271C683D5844A478A359271B8F66147AD8@DC1.dynatec.com> References: <0193271C683D5844A478A359271B8F66147AD8@DC1.dynatec.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F07860E.9060702>