[petsc-users] MATLAB with PETSC
Barry Smith
bsmith at mcs.anl.gov
Thu Oct 8 13:37:44 CDT 2015
Alexander,
Windows supports a very different API for sockets than Unix. If you want this socket stuff for Windows I think you have to more or less write a completely different piece of code that is Windows specific.
Barry
> On Oct 8, 2015, at 3:54 AM, Alexander Korovin <Alexander.Korovin at lgep.supelec.fr> wrote:
>
> Dear, Petsc-users.
>
> I'm sorry for your trouble.
> I'm trying to test the ability of PETSc (PETSc-3.6.2), in MATLAB
> (R2015a, version for Windows) using CYGWIN (latest version).
> For the configure I used:
> export PETSC_ARCH=win32-gnu
> ./configure PETSC_ARCH=win32-gnu --with-shared-libraries --with-matlab-engine --with-matlab --with-mpi=0 --download-fblaslapack=1 --with-x=0
>
> There was an error in Matlab.py, because MATLAB does not work
> in NoDisplay mode in Windows. To fix this, I put "r = 8.5"
> after line 62 in Matlab.py.
>
> Now I have a lot of mistakes when I do make. They are all connected
> with the compilation of sopen.c.
> No error when I compile other files for MATLAB.
>
> It would be nice if you could help me with this problem.
> Thank you in advance.
>
> ***** copy of error messages *******
> $ /cygdrive/d/R2015a/bin/win32/mex -I/cygdrive/d/R2015a/petsc-3.6.2/include -I/cygdrive/d/R2015a/petsc-3.6.2/win32-gnu/include -I/cygdrive/d/R2015a/extern/include -I/cygdrive/d/R2015a/petsc-3.6.2/include/petsc/mpiuni swrite.c bread.c
> Warning: Legacy MEX infrastructure is provided for compatibility; it will be removed in a future version of MATLAB. For more information, consult the MEX release notes http://www.mathworks.com/help/matlab/release-notes.html.
>
> $ /cygdrive/d/R2015a/bin/win32/mex -I/cygdrive/d/R2015a/petsc-3.6.2/include -I/cygdrive/d/R2015a/petsc-3.6.2/win32-gnu/include -I/cygdrive/d/R2015a/extern/include -I/cygdrive/d/R2015a/petsc-3.6.2/include/petsc/mpiuni sopen.c
> In file included from /usr/include/w32api/winsock2.h:56:0,
> from /usr/include/w32api/Ws2tcpip.h:17,
> from sopen.c:58:
> /usr/include/w32api/psdk_inc/_fd_types.h:100:2: warning: #warning "fd_set and associated macros have been defined in sys/types. This can cause runtime problems with W32 sockets" [-Wcpp]
> #warning "fd_set and associated macros have been defined in sys/types. \
> ^
> In file included from /usr/include/w32api/winsock2.h:57:0,
> from /usr/include/w32api/Ws2tcpip.h:17,
> from sopen.c:58:
> /usr/include/w32api/psdk_inc/_ip_types.h:25:8: error: redefinition of ‘struct hostent’
> struct hostent {
> ^
> In file included from sopen.c:43:0:
> /usr/include/netdb.h:79:8: note: originally defined here
> struct hostent {
> ^
> In file included from /usr/include/w32api/winsock2.h:57:0,
> from /usr/include/w32api/Ws2tcpip.h:17,
> from sopen.c:58:
> /usr/include/w32api/psdk_inc/_ip_types.h:33:8: error: redefinition of ‘struct netent’
> struct netent {
> ^
> In file included from sopen.c:43:0:
> /usr/include/netdb.h:93:8: note: originally defined here
> struct netent {
> ^
> In file included from /usr/include/w32api/winsock2.h:57:0,
> from /usr/include/w32api/Ws2tcpip.h:17,
> from sopen.c:58:
> /usr/include/w32api/psdk_inc/_ip_types.h:40:8: error: redefinition of ‘struct servent’
> struct servent {
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:49:10: note: originally defined here
> struct servent *getservbyname (const char *__name, const char *__proto);
> ^
> In file included from /usr/include/w32api/winsock2.h:57:0,
> from /usr/include/w32api/Ws2tcpip.h:17,
> from sopen.c:58:
> /usr/include/w32api/psdk_inc/_ip_types.h:52:8: error: redefinition of ‘struct protoent’
> struct protoent {
> ^
> In file included from sopen.c:43:0:
> /usr/include/netdb.h:107:8: note: originally defined here
> struct protoent
> ^
> In file included from /usr/include/w32api/winsock2.h:57:0,
> from /usr/include/w32api/Ws2tcpip.h:17,
> from sopen.c:58:
> /usr/include/w32api/psdk_inc/_ip_types.h:63:8: error: redefinition of ‘struct linger’
> struct linger {
> ^
> In file included from /usr/include/sys/socket.h:16:0,
> from sopen.c:34:
> /usr/include/cygwin/socket.h:62:8: note: originally defined here
> struct linger {
> ^
> In file included from /usr/include/w32api/winsock2.h:57:0,
> from /usr/include/w32api/Ws2tcpip.h:17,
> from sopen.c:58:
> /usr/include/w32api/psdk_inc/_ip_types.h:70:8: error: redefinition of ‘struct sockaddr’
> struct sockaddr {
> ^
> In file included from /usr/include/sys/socket.h:16:0,
> from sopen.c:34:
> /usr/include/cygwin/socket.h:31:8: note: originally defined here
> struct sockaddr {
> ^
> In file included from /usr/include/w32api/winsock2.h:57:0,
> from /usr/include/w32api/Ws2tcpip.h:17,
> from sopen.c:58:
> /usr/include/w32api/psdk_inc/_ip_types.h:75:8: error: redefinition of ‘struct sockaddr_in’
> struct sockaddr_in {
> ^
> In file included from /usr/include/netinet/in.h:14:0,
> from sopen.c:40:
> /usr/include/cygwin/in.h:189:8: note: originally defined here
> struct sockaddr_in
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:260:10: error: redefinition of ‘struct sockaddr_storage’
> struct sockaddr_storage {
> ^
> In file included from /usr/include/sys/socket.h:16:0,
> from sopen.c:34:
> /usr/include/cygwin/socket.h:43:8: note: originally defined here
> struct sockaddr_storage {
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:973:37: error: conflicting types for ‘accept’
> WINSOCK_API_LINKAGE SOCKET WSAAPI accept(SOCKET s,struct sockaddr *addr,int *addrlen);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:25:7: note: previous declaration of ‘accept’ was here
> int accept (int, struct sockaddr *__peer, socklen_t *);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:974:34: error: conflicting types for ‘bind’
> WINSOCK_API_LINKAGE int WSAAPI bind(SOCKET s,const struct sockaddr *name,int namelen);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:27:7: note: previous declaration of ‘bind’ was here
> int bind (int, const struct sockaddr *__my_addr, socklen_t __addrlen);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:976:34: error: conflicting types for ‘connect’
> WINSOCK_API_LINKAGE int WSAAPI connect(SOCKET s,const struct sockaddr *name,int namelen);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:28:7: note: previous declaration of ‘connect’ was here
> int connect (int, const struct sockaddr *, socklen_t);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:978:34: error: conflicting types for ‘getpeername’
> WINSOCK_API_LINKAGE int WSAAPI getpeername(SOCKET s,struct sockaddr *name,int *namelen);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:29:7: note: previous declaration of ‘getpeername’ was here
> int getpeername (int, struct sockaddr *__peer, socklen_t *);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:979:34: error: conflicting types for ‘getsockname’
> WINSOCK_API_LINKAGE int WSAAPI getsockname(SOCKET s,struct sockaddr *name,int *namelen);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:30:7: note: previous declaration of ‘getsockname’ was here
> int getsockname (int, struct sockaddr *__addr, socklen_t *);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:980:34: error: conflicting types for ‘getsockopt’
> WINSOCK_API_LINKAGE int WSAAPI getsockopt(SOCKET s,int level,int optname,char *optval,int *optlen);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:42:7: note: previous declaration of ‘getsockopt’ was here
> int getsockopt (int __s, int __level, int __optname, void *__optval,
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:982:37: error: conflicting types for ‘htonl’
> WINSOCK_API_LINKAGE u_long WSAAPI htonl(u_long hostlong);
> ^
> In file included from /usr/include/cygwin/in.h:256:0,
> from /usr/include/netinet/in.h:14,
> from sopen.c:40:
> /usr/include/asm/byteorder.h:28:17: note: previous declaration of ‘htonl’ was here
> extern uint32_t htonl(uint32_t);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:983:38: error: conflicting types for ‘htons’
> WINSOCK_API_LINKAGE u_short WSAAPI htons(u_short hostshort);
> ^
> In file included from /usr/include/cygwin/in.h:256:0,
> from /usr/include/netinet/in.h:14,
> from sopen.c:40:
> /usr/include/asm/byteorder.h:29:17: note: previous declaration of ‘htons’ was here
> extern uint16_t htons(uint16_t);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:987:34: error: conflicting types for ‘listen’
> WINSOCK_API_LINKAGE int WSAAPI listen(SOCKET s,int backlog);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:31:7: note: previous declaration of ‘listen’ was here
> int listen (int, int __n);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:989:37: error: conflicting types for ‘ntohl’
> WINSOCK_API_LINKAGE u_long WSAAPI ntohl(u_long netlong);
> ^
> In file included from /usr/include/cygwin/in.h:256:0,
> from /usr/include/netinet/in.h:14,
> from sopen.c:40:
> /usr/include/asm/byteorder.h:26:17: note: previous declaration of ‘ntohl’ was here
> extern uint32_t ntohl(uint32_t);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:990:38: error: conflicting types for ‘ntohs’
> WINSOCK_API_LINKAGE u_short WSAAPI ntohs(u_short netshort);
> ^
> In file included from /usr/include/cygwin/in.h:256:0,
> from /usr/include/netinet/in.h:14,
> from sopen.c:40:
> /usr/include/asm/byteorder.h:27:17: note: previous declaration of ‘ntohs’ was here
> extern uint16_t ntohs(uint16_t);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:992:34: error: conflicting types for ‘recv’
> WINSOCK_API_LINKAGE int WSAAPI recv(SOCKET s,char *buf,int len,int flags);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:32:11: note: previous declaration of ‘recv’ was here
> ssize_t recv (int, void *__buff, size_t __len, int __flags);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:993:34: error: conflicting types for ‘recvfrom’
> WINSOCK_API_LINKAGE int WSAAPI recvfrom(SOCKET s,char *buf,int len,int flags,struct sockaddr *from,int *fromlen);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:33:11: note: previous declaration of ‘recvfrom’ was here
> ssize_t recvfrom (int, void *__buff, size_t __len, int __flags,
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:995:34: error: conflicting types for ‘select’
> WINSOCK_API_LINKAGE int WSAAPI select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const PTIMEVAL timeout);
> ^
> In file included from /usr/include/sys/time.h:49:0,
> from /usr/include/sys/socket.h:17,
> from sopen.c:34:
> /usr/include/sys/select.h:31:5: note: previous declaration of ‘select’ was here
> int select __P ((int __n, fd_set *__readfds, fd_set *__writefds,
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:997:34: error: conflicting types for ‘send’
> WINSOCK_API_LINKAGE int WSAAPI send(SOCKET s,const char *buf,int len,int flags);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:36:11: note: previous declaration of ‘send’ was here
> ssize_t send (int, const void *__buff, size_t __len, int __flags);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:998:34: error: conflicting types for ‘sendto’
> WINSOCK_API_LINKAGE int WSAAPI sendto(SOCKET s,const char *buf,int len,int flags,const struct sockaddr *to,int tolen);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:38:11: note: previous declaration of ‘sendto’ was here
> ssize_t sendto (int, const void *, size_t __len, int __flags,
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:999:34: error: conflicting types for ‘setsockopt’
> WINSOCK_API_LINKAGE int WSAAPI setsockopt(SOCKET s,int level,int optname,const char *optval,int optlen);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:40:7: note: previous declaration of ‘setsockopt’ was here
> int setsockopt (int __s, int __level, int __optname, const void *optval,
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:1000:34: error: conflicting types for ‘shutdown’
> WINSOCK_API_LINKAGE int WSAAPI shutdown(SOCKET s,int how);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:44:7: note: previous declaration of ‘shutdown’ was here
> int shutdown (int, int);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:1001:37: error: conflicting types for ‘socket’
> WINSOCK_API_LINKAGE SOCKET WSAAPI socket(int af,int type,int protocol);
> ^
> In file included from sopen.c:34:0:
> /usr/include/sys/socket.h:45:7: note: previous declaration of ‘socket’ was here
> int socket (int __family, int __type, int __protocol);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:1002:46: error: conflicting types for ‘gethostbyaddr’
> WINSOCK_API_LINKAGE struct hostent *WSAAPI gethostbyaddr(const char *addr,int len,int type);
> ^
> In file included from sopen.c:43:0:
> /usr/include/netdb.h:217:17: note: previous declaration of ‘gethostbyaddr’ was here
> struct hostent *gethostbyaddr (const char *, int, int);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:1003:46: error: conflicting types for ‘gethostbyname’
> WINSOCK_API_LINKAGE struct hostent *WSAAPI gethostbyname(const char *name);
> ^
> In file included from sopen.c:43:0:
> /usr/include/netdb.h:218:17: note: previous declaration of ‘gethostbyname’ was here
> struct hostent *gethostbyname (const char *);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:1004:34: error: conflicting types for ‘gethostname’
> WINSOCK_API_LINKAGE int WSAAPI gethostname(char *name,int namelen);
> ^
> In file included from /usr/include/stdio.h:29:0,
> from /cygdrive/d/R2015a/petsc-3.6.2/include/petscsys.h:138,
> from sopen.c:14:
> /usr/include/sys/unistd.h:249:6: note: previous declaration of ‘gethostname’ was here
> int _EXFUN(gethostname, (char *__name, size_t __len));
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:1005:46: error: conflicting types for ‘getservbyport’
> WINSOCK_API_LINKAGE struct servent *WSAAPI getservbyport(int port,const char *proto);
> ^
> In file included from sopen.c:43:0:
> /usr/include/netdb.h:228:17: note: previous declaration of ‘getservbyport’ was here
> struct servent *getservbyport (int, const char *);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:1006:46: error: conflicting types for ‘getservbyname’
> WINSOCK_API_LINKAGE struct servent *WSAAPI getservbyname(const char *name,const char *proto);
> ^
> In file included from sopen.c:43:0:
> /usr/include/netdb.h:227:17: note: previous declaration of ‘getservbyname’ was here
> struct servent *getservbyname (const char *, const char *);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:1007:47: error: conflicting types for ‘getprotobynumber’
> WINSOCK_API_LINKAGE struct protoent *WSAAPI getprotobynumber(int number);
> ^
> In file included from sopen.c:43:0:
> /usr/include/netdb.h:225:18: note: previous declaration of ‘getprotobynumber’ was here
> struct protoent *getprotobynumber (int);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:17:0,
> from sopen.c:58:
> /usr/include/w32api/winsock2.h:1008:47: error: conflicting types for ‘getprotobyname’
> WINSOCK_API_LINKAGE struct protoent *WSAAPI getprotobyname(const char *name);
> ^
> In file included from sopen.c:43:0:
> /usr/include/netdb.h:224:18: note: previous declaration of ‘getprotobyname’ was here
> struct protoent *getprotobyname (const char *);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:18:0,
> from sopen.c:58:
> /usr/include/w32api/ws2ipdef.h:23:16: error: redefinition of ‘struct ipv6_mreq’
> typedef struct ipv6_mreq {
> ^
> In file included from /usr/include/cygwin/in.h:267:0,
> from /usr/include/netinet/in.h:14,
> from sopen.c:40:
> /usr/include/cygwin/in6.h:88:8: note: originally defined here
> struct ipv6_mreq
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:18:0,
> from sopen.c:58:
> /usr/include/w32api/ws2ipdef.h:41:8: error: redefinition of ‘struct sockaddr_in6’
> struct sockaddr_in6 {
> ^
> In file included from /usr/include/cygwin/in.h:267:0,
> from /usr/include/netinet/in.h:14,
> from sopen.c:40:
> /usr/include/cygwin/in6.h:112:8: note: originally defined here
> struct sockaddr_in6
> ^
> In file included from /usr/include/sys/socket.h:16:0,
> from sopen.c:34:
> /usr/include/w32api/ws2ipdef.h:64:3: error: expected identifier before numeric constant
> MCAST_INCLUDE = 0,
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:18:0,
> from sopen.c:58:
> /usr/include/w32api/ws2ipdef.h:79:16: error: redefinition of ‘struct group_filter’
> typedef struct group_filter {
> ^
> In file included from /usr/include/netinet/in.h:14:0,
> from sopen.c:40:
> /usr/include/cygwin/in.h:174:8: note: originally defined here
> struct group_filter
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:18:0,
> from sopen.c:58:
> /usr/include/w32api/ws2ipdef.h:87:16: error: redefinition of ‘struct group_req’
> typedef struct group_req {
> ^
> In file included from /usr/include/netinet/in.h:14:0,
> from sopen.c:40:
> /usr/include/cygwin/in.h:161:8: note: originally defined here
> struct group_req
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:18:0,
> from sopen.c:58:
> /usr/include/w32api/ws2ipdef.h:92:16: error: redefinition of ‘struct group_source_req’
> typedef struct group_source_req {
> ^
> In file included from /usr/include/netinet/in.h:14:0,
> from sopen.c:40:
> /usr/include/cygwin/in.h:167:8: note: originally defined here
> struct group_source_req
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:19:0,
> from sopen.c:58:
> /usr/include/w32api/psdk_inc/_ip_mreq1.h:12:8: error: redefinition of ‘struct ip_mreq’
> struct ip_mreq {
> ^
> In file included from /usr/include/netinet/in.h:14:0,
> from sopen.c:40:
> /usr/include/cygwin/in.h:127:8: note: originally defined here
> struct ip_mreq
> ^
> In file included from sopen.c:58:0:
> /usr/include/w32api/Ws2tcpip.h:22:8: error: redefinition of ‘struct ip_mreq_source’
> struct ip_mreq_source {
> ^
> In file included from /usr/include/netinet/in.h:14:0,
> from sopen.c:40:
> /usr/include/cygwin/in.h:133:8: note: originally defined here
> struct ip_mreq_source
> ^
> In file included from sopen.c:58:0:
> /usr/include/w32api/Ws2tcpip.h:28:8: error: redefinition of ‘struct ip_msfilter’
> struct ip_msfilter {
> ^
> In file included from /usr/include/netinet/in.h:14:0,
> from sopen.c:40:
> /usr/include/cygwin/in.h:140:8: note: originally defined here
> struct ip_msfilter
> ^
> In file included from /usr/include/cygwin/in.h:267:0,
> from /usr/include/netinet/in.h:14,
> from sopen.c:40:
> /usr/include/w32api/Ws2tcpip.h:86:5: error: expected identifier or ‘(’ before ‘const’
> int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:86:5: error: expected ‘)’ before ‘(’ token
> int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:86:5: error: expected ‘)’ before ‘[’ token
> int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:87:5: error: expected identifier or ‘(’ before ‘const’
> int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:87:5: error: expected ‘)’ before ‘(’ token
> int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:87:5: error: expected ‘)’ before ‘[’ token
> int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:88:5: error: expected identifier or ‘(’ before ‘const’
> int IN6_IS_ADDR_MULTICAST(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:88:5: error: expected ‘)’ before ‘(’ token
> int IN6_IS_ADDR_MULTICAST(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:88:5: error: expected ‘)’ before ‘[’ token
> int IN6_IS_ADDR_MULTICAST(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:89:5: error: expected identifier or ‘(’ before ‘const’
> int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:89:5: error: expected ‘)’ before ‘(’ token
> int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:89:5: error: expected ‘)’ before ‘[’ token
> int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:89:5: error: expected ‘)’ before ‘==’ token
> int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:90:5: error: expected identifier or ‘(’ before ‘const’
> int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:90:5: error: expected ‘)’ before ‘(’ token
> int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:90:5: error: expected ‘)’ before ‘[’ token
> int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:90:5: error: expected ‘)’ before ‘==’ token
> int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:91:5: error: expected identifier or ‘(’ before ‘const’
> int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:91:5: error: expected ‘)’ before ‘(’ token
> int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:91:5: error: expected ‘)’ before ‘[’ token
> int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:92:5: error: expected identifier or ‘(’ before ‘const’
> int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:92:5: error: expected ‘)’ before ‘(’ token
> int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:92:5: error: expected ‘)’ before ‘[’ token
> int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:93:5: error: expected identifier or ‘(’ before ‘const’
> int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:93:5: error: expected ‘)’ before ‘(’ token
> int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:93:5: error: expected ‘)’ before ‘[’ token
> int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:93:5: error: expected ‘)’ before ‘&&’ token
> int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:94:5: error: expected identifier or ‘(’ before ‘const’
> int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:94:5: error: expected ‘)’ before ‘(’ token
> int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:94:5: error: expected ‘)’ before ‘[’ token
> int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:94:5: error: expected ‘)’ before ‘&&’ token
> int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:95:5: error: expected identifier or ‘(’ before ‘const’
> int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:95:5: error: expected ‘)’ before ‘(’ token
> int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:95:5: error: expected ‘)’ before ‘[’ token
> int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:95:5: error: expected ‘)’ before ‘&&’ token
> int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:96:5: error: expected identifier or ‘(’ before ‘const’
> int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:96:5: error: expected ‘)’ before ‘(’ token
> int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:96:5: error: expected ‘)’ before ‘[’ token
> int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:96:5: error: expected ‘)’ before ‘&&’ token
> int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:97:5: error: expected identifier or ‘(’ before ‘const’
> int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:97:5: error: expected ‘)’ before ‘(’ token
> int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:97:5: error: expected ‘)’ before ‘[’ token
> int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:97:5: error: expected ‘)’ before ‘&&’ token
> int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *);
> ^
> /usr/include/w32api/Ws2tcpip.h:105:21: error: expected identifier or ‘(’ before ‘const’
> WS2TCPIP_INLINE int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:105:21: error: expected ‘)’ before ‘(’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:105:21: error: expected ‘)’ before ‘[’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:106:21: error: expected identifier or ‘(’ before ‘const’
> WS2TCPIP_INLINE int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0x0100)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:106:21: error: expected ‘)’ before ‘(’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0x0100)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:106:21: error: expected ‘)’ before ‘[’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0x0100)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:107:21: error: expected identifier or ‘(’ before ‘const’
> WS2TCPIP_INLINE int IN6_IS_ADDR_MULTICAST(const struct in6_addr *a) { return (a->s6_bytes[0]==0xff); }
> ^
> /usr/include/w32api/Ws2tcpip.h:107:21: error: expected ‘)’ before ‘(’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MULTICAST(const struct in6_addr *a) { return (a->s6_bytes[0]==0xff); }
> ^
> /usr/include/w32api/Ws2tcpip.h:107:21: error: expected ‘)’ before ‘[’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MULTICAST(const struct in6_addr *a) { return (a->s6_bytes[0]==0xff); }
> ^
> /usr/include/w32api/Ws2tcpip.h:108:21: error: expected identifier or ‘(’ before ‘const’
> WS2TCPIP_INLINE int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0x80)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:108:21: error: expected ‘)’ before ‘(’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0x80)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:108:21: error: expected ‘)’ before ‘[’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0x80)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:108:21: error: expected ‘)’ before ‘==’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0x80)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:109:21: error: expected identifier or ‘(’ before ‘const’
> WS2TCPIP_INLINE int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0xc0)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:109:21: error: expected ‘)’ before ‘(’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0xc0)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:109:21: error: expected ‘)’ before ‘[’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0xc0)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:109:21: error: expected ‘)’ before ‘==’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0xc0)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:110:21: error: expected identifier or ‘(’ before ‘const’
> WS2TCPIP_INLINE int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0xffff)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:110:21: error: expected ‘)’ before ‘(’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0xffff)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:110:21: error: expected ‘)’ before ‘[’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0xffff)); }
> ^
> /usr/include/w32api/Ws2tcpip.h:111:21: error: expected identifier or ‘(’ before ‘const’
> WS2TCPIP_INLINE int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && !((a->s6_words[6]==0) && (a->s6_addr[14]==0) && ((a->s6_addr[15]==0) || (a->s6_addr[15]==1)))); }
> ^
> /usr/include/w32api/Ws2tcpip.h:111:21: error: expected ‘)’ before ‘(’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && !((a->s6_words[6]==0) && (a->s6_addr[14]==0) && ((a->s6_addr[15]==0) || (a->s6_addr[15]==1)))); }
> ^
> /usr/include/w32api/Ws2tcpip.h:111:21: error: expected ‘)’ before ‘[’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && !((a->s6_words[6]==0) && (a->s6_addr[14]==0) && ((a->s6_addr[15]==0) || (a->s6_addr[15]==1)))); }
> ^
> /usr/include/w32api/Ws2tcpip.h:112:21: error: expected identifier or ‘(’ before ‘const’
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==1); }
> ^
> /usr/include/w32api/Ws2tcpip.h:112:21: error: expected ‘)’ before ‘(’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==1); }
> ^
> /usr/include/w32api/Ws2tcpip.h:112:21: error: expected ‘)’ before ‘[’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==1); }
> ^
> /usr/include/w32api/Ws2tcpip.h:112:21: error: expected ‘)’ before ‘&&’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==1); }
> ^
> /usr/include/w32api/Ws2tcpip.h:113:21: error: expected identifier or ‘(’ before ‘const’
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==2); }
> ^
> /usr/include/w32api/Ws2tcpip.h:113:21: error: expected ‘)’ before ‘(’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==2); }
> ^
> /usr/include/w32api/Ws2tcpip.h:113:21: error: expected ‘)’ before ‘[’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==2); }
> ^
> /usr/include/w32api/Ws2tcpip.h:113:21: error: expected ‘)’ before ‘&&’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==2); }
> ^
> /usr/include/w32api/Ws2tcpip.h:114:21: error: expected identifier or ‘(’ before ‘const’
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==5); }
> ^
> /usr/include/w32api/Ws2tcpip.h:114:21: error: expected ‘)’ before ‘(’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==5); }
> ^
> /usr/include/w32api/Ws2tcpip.h:114:21: error: expected ‘)’ before ‘[’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==5); }
> ^
> /usr/include/w32api/Ws2tcpip.h:114:21: error: expected ‘)’ before ‘&&’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==5); }
> ^
> /usr/include/w32api/Ws2tcpip.h:115:21: error: expected identifier or ‘(’ before ‘const’
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==8); }
> ^
> /usr/include/w32api/Ws2tcpip.h:115:21: error: expected ‘)’ before ‘(’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==8); }
> ^
> /usr/include/w32api/Ws2tcpip.h:115:21: error: expected ‘)’ before ‘[’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==8); }
> ^
> /usr/include/w32api/Ws2tcpip.h:115:21: error: expected ‘)’ before ‘&&’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==8); }
> ^
> /usr/include/w32api/Ws2tcpip.h:116:21: error: expected identifier or ‘(’ before ‘const’
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==0xe); }
> ^
> /usr/include/w32api/Ws2tcpip.h:116:21: error: expected ‘)’ before ‘(’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==0xe); }
> ^
> /usr/include/w32api/Ws2tcpip.h:116:21: error: expected ‘)’ before ‘[’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==0xe); }
> ^
> /usr/include/w32api/Ws2tcpip.h:116:21: error: expected ‘)’ before ‘&&’ token
> WS2TCPIP_INLINE int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==0xe); }
> ^
> In file included from sopen.c:58:0:
> /usr/include/w32api/Ws2tcpip.h: In function ‘IN6_SET_ADDR_UNSPECIFIED’:
> /usr/include/w32api/Ws2tcpip.h:119:77: error: ‘struct in6_addr’ has no member named ‘s6_bytes’
> WS2TCPIP_INLINE void IN6_SET_ADDR_UNSPECIFIED(struct in6_addr *a) { memset(a->s6_bytes,0,sizeof(struct in6_addr)); }
> ^
> /usr/include/w32api/Ws2tcpip.h: In function ‘IN6_SET_ADDR_LOOPBACK’:
> /usr/include/w32api/Ws2tcpip.h:121:11: error: ‘struct in6_addr’ has no member named ‘s6_bytes’
> memset(a->s6_bytes,0,sizeof(struct in6_addr));
> ^
> /usr/include/w32api/Ws2tcpip.h:122:4: error: ‘struct in6_addr’ has no member named ‘s6_bytes’
> a->s6_bytes[15] = 1;
> ^
> /usr/include/w32api/Ws2tcpip.h: At top level:
> /usr/include/w32api/Ws2tcpip.h:156:16: error: redefinition of ‘struct in_pktinfo’
> typedef struct in_pktinfo {
> ^
> In file included from /usr/include/netinet/in.h:14:0,
> from sopen.c:40:
> /usr/include/cygwin/in.h:153:8: note: originally defined here
> struct in_pktinfo
> ^
> In file included from sopen.c:58:0:
> /usr/include/w32api/Ws2tcpip.h:157:3: error: unknown type name ‘IN_ADDR’
> IN_ADDR ipi_addr;
> ^
> /usr/include/w32api/Ws2tcpip.h:163:16: error: redefinition of ‘struct in6_pktinfo’
> typedef struct in6_pktinfo {
> ^
> In file included from /usr/include/cygwin/in.h:267:0,
> from /usr/include/netinet/in.h:14,
> from sopen.c:40:
> /usr/include/cygwin/in6.h:102:8: note: originally defined here
> struct in6_pktinfo
> ^
> In file included from sopen.c:58:0:
> /usr/include/w32api/Ws2tcpip.h:164:3: error: unknown type name ‘IN6_ADDR’
> IN6_ADDR ipi6_addr;
> ^
> /usr/include/w32api/Ws2tcpip.h:168:1: error: size of unnamed array is negative
> C_ASSERT(sizeof(IN6_PKTINFO)==20);
> ^
> /usr/include/w32api/Ws2tcpip.h:182:16: error: redefinition of ‘struct addrinfo’
> typedef struct addrinfo {
> ^
> In file included from sopen.c:43:0:
> /usr/include/netdb.h:121:8: note: originally defined here
> struct addrinfo {
> ^
> In file included from sopen.c:58:0:
> /usr/include/w32api/Ws2tcpip.h:231:34: error: conflicting types for ‘getaddrinfo’
> WINSOCK_API_LINKAGE int WSAAPI getaddrinfo(const char *nodename,const char *servname,const struct addrinfo *hints,struct addrinfo **res);
> ^
> In file included from sopen.c:43:0:
> /usr/include/netdb.h:242:6: note: previous declaration of ‘getaddrinfo’ was here
> int getaddrinfo (const char *, const char *,
> ^
> In file included from sopen.c:58:0:
> /usr/include/w32api/Ws2tcpip.h:247:35: error: conflicting types for ‘freeaddrinfo’
> WINSOCK_API_LINKAGE void WSAAPI freeaddrinfo(LPADDRINFO pAddrInfo);
> ^
> In file included from sopen.c:43:0:
> /usr/include/netdb.h:240:7: note: previous declaration of ‘freeaddrinfo’ was here
> void freeaddrinfo (struct addrinfo *);
> ^
> In file included from sopen.c:58:0:
> /usr/include/w32api/Ws2tcpip.h:265:34: error: conflicting types for ‘getnameinfo’
> WINSOCK_API_LINKAGE int WSAAPI getnameinfo(const struct sockaddr *sa,socklen_t salen,char *host,DWORD hostlen,char *serv,DWORD servlen,int flags);
> ^
> In file included from sopen.c:43:0:
> /usr/include/netdb.h:244:6: note: previous declaration of ‘getnameinfo’ was here
> int getnameinfo (const struct sockaddr *, socklen_t, char *,
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:298:0,
> from sopen.c:58:
> /usr/include/w32api/mstcpip.h:110:43: error: unknown type name ‘IN6_ADDR’
> LPSTR NTAPI RtlIpv6AddressToStringA(const IN6_ADDR *Addr, LPSTR S);
> ^
> /usr/include/w32api/mstcpip.h:111:44: error: unknown type name ‘IN6_ADDR’
> LPWSTR NTAPI RtlIpv6AddressToStringW(const IN6_ADDR *Addr, LPWSTR S);
> ^
> /usr/include/w32api/mstcpip.h:113:44: error: unknown type name ‘IN6_ADDR’
> LONG NTAPI RtlIpv6AddressToStringExA(const IN6_ADDR *Address, ULONG ScopeId, USHORT Port, LPSTR AddressString, PULONG AddressStringLength);
> ^
> In file included from /usr/include/w32api/Ws2tcpip.h:298:0,
> from sopen.c:58:
> /usr/include/w32api/mstcpip.h:114:44: error: unknown type name ‘IN6_ADDR’
> LONG NTAPI RtlIpv6AddressToStringExW(const IN6_ADDR *Address, ULONG ScopeId, USHORT Port, LPWSTR AddressString, PULONG AddressStringLength);
> ^
> /usr/include/w32api/mstcpip.h:117:43: error: unknown type name ‘IN_ADDR’
> LPSTR NTAPI RtlIpv4AddressToStringA(const IN_ADDR *Addr, LPSTR S);
> ^
> /usr/include/w32api/mstcpip.h:118:44: error: unknown type name ‘IN_ADDR’
> LPWSTR NTAPI RtlIpv4AddressToStringW(const IN_ADDR *Addr, LPWSTR S);
> ^
> /usr/include/w32api/mstcpip.h:121:44: error: unknown type name ‘IN_ADDR’
> LONG NTAPI RtlIpv4AddressToStringExA(const IN_ADDR *Address, USHORT Port, LPSTR AddressString, PULONG AddressStringLength);
> ^
> /usr/include/w32api/mstcpip.h:122:44: error: unknown type name ‘IN_ADDR’
> LONG NTAPI RtlIpv4AddressToStringExW(const IN_ADDR *Address, USHORT Port, LPWSTR AddressString, PULONG AddressStringLength);
> ^
> /usr/include/w32api/mstcpip.h:125:80: error: unknown type name ‘IN_ADDR’
> LONG NTAPI RtlIpv4StringToAddressA(PCSTR S, BOOLEAN Strict, LPSTR *Terminator, IN_ADDR *Addr);
> ^
> /usr/include/w32api/mstcpip.h:126:82: error: unknown type name ‘IN_ADDR’
> LONG NTAPI RtlIpv4StringToAddressW(PCWSTR S, BOOLEAN Strict, LPWSTR *Terminator, IN_ADDR *Addr);
> ^
> /usr/include/w32api/mstcpip.h:129:75: error: unknown type name ‘IN_ADDR’
> LONG NTAPI RtlIpv4StringToAddressExA(PCSTR AddressString, BOOLEAN Strict, IN_ADDR *Address, PUSHORT Port);
> ^
> /usr/include/w32api/mstcpip.h:130:76: error: unknown type name ‘IN_ADDR’
> LONG NTAPI RtlIpv4StringToAddressExW(PCWSTR AddressString, BOOLEAN Strict, IN_ADDR *Address, PUSHORT Port);
> ^
> /usr/include/w32api/mstcpip.h:133:59: error: unknown type name ‘IN6_ADDR’
> LONG NTAPI RtlIpv6StringToAddressExA(PCSTR AddressString, IN6_ADDR *Address, PULONG ScopeId, PUSHORT Port);
> ^
> /usr/include/w32api/mstcpip.h:134:60: error: unknown type name ‘IN6_ADDR’
> LONG NTAPI RtlIpv6StringToAddressExW(PCWSTR AddressString, IN6_ADDR *Address, PULONG ScopeId, PUSHORT Port);
> ^
> sopen.c: In function ‘establish’:
> sopen.c:116:44: error: ‘namelen’ undeclared (first use in this function)
> GetComputerName((LPTSTR)myname,(LPDWORD)&namelen);
> ^
> sopen.c:116:44: note: each undeclared identifier is reported only once for each function it appears in
>
> D:\R2015A\BIN\MEX.PL: Error: Compile of 'sopen.c' failed.
>
> ************
>
> Sincerely yours,
> Alexander
>
> -------------------------
> Dr. Alexander KOROVIN
>
> Lab. Génie électrique et électronique - Paris (GeePs)
> 11 rue Joliot-Curie
> Plateau de Moulon
> F-91192 Gif-sur-Yvette cedex
> France
> +33-1-69-85-16-83
>
More information about the petsc-users
mailing list