raw socket programming SOLVED

Wes Peters wes at softweyr.com
Thu Jul 10 22:38:10 PDT 2003


On Saturday 05 July 2003 08:01 pm, Alin-Adrian Anton wrote:
>
> Yes, it works now, with these includes:
> -------------------------------
> #include <sys/types.h>
> #include <sys/socket.h>
> #include <stdio.h>
> #include <string.h>
> #include <errno.h>
>
> #include <netinet/in_systm.h>
> #include <netinet/in.h>
> #include <netinet/ip.h>
>
> #include <unistd.h>
> #include <netinet/tcp.h>
> -------------------------------

Believe it or not, the advice in style(9) is quite helpful in putting 
include files in their correct order.  I'm so used to doing things in 
similar order that I re-wrote your original program as:

#include <sys/types.h>
#include <sys/socket.h>

#include <netinet/in_systm.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>

#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>

int main() { printf("foo\n"); }

after grepping for n_long in /usr/include.  The order of the netinet 
includes; in.h then ip.h then tcp.h, seems logical to me.  Perhaps a 
(re-) reading of the instructions on include files in style(9) is in 
order.

-- 

        Where am I, and what am I doing in this handbasket?

Wes Peters                                               wes at softweyr.com



More information about the freebsd-hackers mailing list