~ubuntu-branches/ubuntu/utopic/coreutils/utopic-proposed

« back to all changes in this revision

Viewing changes to lib/w32sock.h

  • Committer: Package Import Robot
  • Author(s): Colin Watson
  • Date: 2012-11-28 03:03:42 UTC
  • mfrom: (8.3.4 sid)
  • Revision ID: package-import@ubuntu.com-20121128030342-21zanj8354gas5gr
Tags: 8.20-3ubuntu1
* Resynchronise with Debian.  Remaining changes:
  - Make 'uname -i -p' return the real processor/hardware, instead of
    unknown.
  - Build-depend on gettext:any instead of on gettext, so that apt-get can
    properly resolve build-dependencies on the tool when cross-building.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* w32sock.h --- internal auxilliary functions for Windows socket functions
 
1
/* w32sock.h --- internal auxiliary functions for Windows socket functions
2
2
 
3
 
   Copyright (C) 2008-2011 Free Software Foundation, Inc.
 
3
   Copyright (C) 2008-2012 Free Software Foundation, Inc.
4
4
 
5
5
   This program is free software: you can redistribute it and/or modify
6
6
   it under the terms of the GNU General Public License as published by
22
22
/* Get O_RDWR and O_BINARY.  */
23
23
#include <fcntl.h>
24
24
 
25
 
/* Get _get_osfhandle() and _open_osfhandle().  */
 
25
/* Get _open_osfhandle().  */
26
26
#include <io.h>
27
27
 
 
28
/* Get _get_osfhandle().  */
 
29
#include "msvc-nothrow.h"
 
30
 
28
31
#define FD_TO_SOCKET(fd)   ((SOCKET) _get_osfhandle ((fd)))
29
 
#define SOCKET_TO_FD(fh)   (_open_osfhandle ((long) (fh), O_RDWR | O_BINARY))
 
32
#define SOCKET_TO_FD(fh)   (_open_osfhandle ((intptr_t) (fh), O_RDWR | O_BINARY))
30
33
 
31
34
static inline void
32
35
set_winsock_errno (void)
45
48
    case WSA_INVALID_PARAMETER:
46
49
      errno = EINVAL;
47
50
      break;
48
 
    case WSAEWOULDBLOCK:
49
 
      errno = EWOULDBLOCK;
50
 
      break;
51
51
    case WSAENAMETOOLONG:
52
52
      errno = ENAMETOOLONG;
53
53
      break;
54
54
    case WSAENOTEMPTY:
55
55
      errno = ENOTEMPTY;
56
56
      break;
 
57
    case WSAEWOULDBLOCK:
 
58
      errno = EWOULDBLOCK;
 
59
      break;
 
60
    case WSAEINPROGRESS:
 
61
      errno = EINPROGRESS;
 
62
      break;
 
63
    case WSAEALREADY:
 
64
      errno = EALREADY;
 
65
      break;
 
66
    case WSAENOTSOCK:
 
67
      errno = ENOTSOCK;
 
68
      break;
 
69
    case WSAEDESTADDRREQ:
 
70
      errno = EDESTADDRREQ;
 
71
      break;
 
72
    case WSAEMSGSIZE:
 
73
      errno = EMSGSIZE;
 
74
      break;
 
75
    case WSAEPROTOTYPE:
 
76
      errno = EPROTOTYPE;
 
77
      break;
 
78
    case WSAENOPROTOOPT:
 
79
      errno = ENOPROTOOPT;
 
80
      break;
 
81
    case WSAEPROTONOSUPPORT:
 
82
      errno = EPROTONOSUPPORT;
 
83
      break;
 
84
    case WSAEOPNOTSUPP:
 
85
      errno = EOPNOTSUPP;
 
86
      break;
 
87
    case WSAEAFNOSUPPORT:
 
88
      errno = EAFNOSUPPORT;
 
89
      break;
 
90
    case WSAEADDRINUSE:
 
91
      errno = EADDRINUSE;
 
92
      break;
 
93
    case WSAEADDRNOTAVAIL:
 
94
      errno = EADDRNOTAVAIL;
 
95
      break;
 
96
    case WSAENETDOWN:
 
97
      errno = ENETDOWN;
 
98
      break;
 
99
    case WSAENETUNREACH:
 
100
      errno = ENETUNREACH;
 
101
      break;
 
102
    case WSAENETRESET:
 
103
      errno = ENETRESET;
 
104
      break;
 
105
    case WSAECONNABORTED:
 
106
      errno = ECONNABORTED;
 
107
      break;
 
108
    case WSAECONNRESET:
 
109
      errno = ECONNRESET;
 
110
      break;
 
111
    case WSAENOBUFS:
 
112
      errno = ENOBUFS;
 
113
      break;
 
114
    case WSAEISCONN:
 
115
      errno = EISCONN;
 
116
      break;
 
117
    case WSAENOTCONN:
 
118
      errno = ENOTCONN;
 
119
      break;
 
120
    case WSAETIMEDOUT:
 
121
      errno = ETIMEDOUT;
 
122
      break;
 
123
    case WSAECONNREFUSED:
 
124
      errno = ECONNREFUSED;
 
125
      break;
 
126
    case WSAELOOP:
 
127
      errno = ELOOP;
 
128
      break;
 
129
    case WSAEHOSTUNREACH:
 
130
      errno = EHOSTUNREACH;
 
131
      break;
57
132
    default:
58
133
      errno = (err > 10000 && err < 10025) ? err - 10000 : err;
59
134
      break;