Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: problem with sys/socket.h
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: problem with sys/socket.h



Include sys/types.h before you include sys/socket.h. Please see the man page for socket.

nik wrote:

Hi all,

I have a problem compiling programs that include sys/socket.h.
I use a very simple program as an example:

/*incl.c*/
#include <sys/socket.h>
#include <stdio.h>

int main(int argc, char *argv[])
{
       printf("ciao\n");

       return 0;
}

As you can see it doesn't call any function about sockets. It only includes sys/socket.h.
When I run gcc incl.c I have the following answer:
In file included from incl.c:1:
/usr/include/sys/socket.h:77: error: parse error before "sa_family_t"
/usr/include/sys/socket.h:213: error: parse error before "u_char"
/usr/include/sys/socket.h:216: error: parse error before '}' token
/usr/include/sys/socket.h:224: error: parse error before "u_short"
/usr/include/sys/socket.h:238: error: parse error before "u_char"
/usr/include/sys/socket.h:240: error: `int64_t' undeclared here (not in a function)
/usr/include/sys/socket.h:240: error: `u_char' undeclared here (not in a function)
/usr/include/sys/socket.h:240: error: size of array `__ss_pad1' is too large
/usr/include/sys/socket.h:241: error: parse error before "__ss_align"
/usr/include/sys/socket.h:242: error: `u_char' undeclared here (not in a function)
/usr/include/sys/socket.h:242: error: `int64_t' undeclared here (not in a function)
/usr/include/sys/socket.h:242: error: `u_char' undeclared here (not in a function)
/usr/include/sys/socket.h:242: error: `int64_t' undeclared here (not in a function)
/usr/include/sys/socket.h:243: error: parse error before '}' token
/usr/include/sys/socket.h:373: error: parse error before "caddr_t"
/usr/include/sys/socket.h:376: error: parse error before "msg_iovlen"
/usr/include/sys/socket.h:377: error: parse error before "msg_control"
/usr/include/sys/socket.h:378: error: parse error before "msg_controllen"
/usr/include/sys/socket.h:380: error: parse error before '}' token
/usr/include/sys/socket.h:408: error: parse error before "socklen_t"
/usr/include/sys/socket.h:412: error: parse error before '}' token
/usr/include/sys/socket.h:471: error: parse error before "u_short"
/usr/include/sys/socket.h:473: error: parse error before '}' token
/usr/include/sys/socket.h:479: error: parse error before "caddr_t"
/usr/include/sys/socket.h:483: error: parse error before "msg_accrights"
/usr/include/sys/socket.h:485: error: parse error before '}' token
In file included from incl.c:1:
/usr/include/sys/socket.h:511: error: parse error before "socklen_t"
/usr/include/sys/socket.h:512: error: parse error before "socklen_t"
/usr/include/sys/socket.h:513: error: parse error before "socklen_t"
/usr/include/sys/socket.h:514: error: parse error before "socklen_t"
/usr/include/sys/socket.h:515: error: parse error before "socklen_t"
/usr/include/sys/socket.h:518: error: parse error before "recv"
/usr/include/sys/socket.h:518: error: parse error before "size_t"
/usr/include/sys/socket.h:519: error: parse error before "recvfrom"
/usr/include/sys/socket.h:519: error: parse error before "size_t"
/usr/include/sys/socket.h:520: error: parse error before "recvmsg"
/usr/include/sys/socket.h:521: error: parse error before "send"
/usr/include/sys/socket.h:521: error: parse error before "size_t"
/usr/include/sys/socket.h:522: error: parse error before "sendto"
/usr/include/sys/socket.h:523: error: parse error before "size_t"
/usr/include/sys/socket.h:524: error: parse error before "sendmsg"
/usr/include/sys/socket.h:528: error: parse error before "socklen_t"
/usr/include/sys/socket.h:240: error: storage size of `__ss_pad1' isn't known


Then, if I put #include<stdio.h> before the inclusion of sys/socket.h it works without any error!

/*incl.c*/
#include <stdio.h>
#include <sys/socket.h>

int main(int argc, char *argv[])
{
       printf("ciao\n");

       return 0;
}

Can you help me?
Did I make any mistake?

Thank you in advance
NIK
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwinos-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden

!DSPAM:4224c76383381395144022!



_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwinos-users mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >problem with sys/socket.h (From: nik <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.