]>
Commit | Line | Data |
---|---|---|
6cbd1b6f RK |
1 | ------------------------------------------------------------------------------ |
2 | -- -- | |
3 | -- GNAT COMPILER COMPONENTS -- | |
4 | -- -- | |
5 | -- G N A T . S O C K E T S . C O N S T A N T S -- | |
6 | -- -- | |
7 | -- S p e c -- | |
8 | -- -- | |
fbf5a39b | 9 | -- Copyright (C) 2000-2003 Free Software Foundation, Inc. -- |
6cbd1b6f RK |
10 | -- -- |
11 | -- GNAT is free software; you can redistribute it and/or modify it under -- | |
12 | -- terms of the GNU General Public License as published by the Free Soft- -- | |
13 | -- ware Foundation; either version 2, or (at your option) any later ver- -- | |
14 | -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- | |
15 | -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- | |
16 | -- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- | |
17 | -- for more details. You should have received a copy of the GNU General -- | |
18 | -- Public License distributed with GNAT; see file COPYING. If not, write -- | |
19 | -- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, -- | |
20 | -- MA 02111-1307, USA. -- | |
21 | -- -- | |
22 | -- As a special exception, if other files instantiate generics from this -- | |
23 | -- unit, or you link this unit with other files to produce an executable, -- | |
24 | -- this unit does not by itself cause the resulting executable to be -- | |
25 | -- covered by the GNU General Public License. This exception does not -- | |
26 | -- however invalidate any other reasons why the executable file might be -- | |
27 | -- covered by the GNU Public License. -- | |
28 | -- -- | |
fbf5a39b AC |
29 | -- GNAT was originally developed by the GNAT team at New York University. -- |
30 | -- Extensive contributions were provided by Ada Core Technologies Inc. -- | |
6cbd1b6f RK |
31 | -- -- |
32 | ------------------------------------------------------------------------------ | |
33 | ||
fbf5a39b AC |
34 | -- This package provides target dependent definitions of constant for use |
35 | -- by the GNAT.Sockets package (g-socket.ads). This package should not be | |
36 | -- directly with'ed by an applications program. | |
37 | ||
6cbd1b6f RK |
38 | -- This is the version for MINGW32 NT |
39 | ||
40 | package GNAT.Sockets.Constants is | |
41 | ||
fbf5a39b AC |
42 | -------------- |
43 | -- Families -- | |
44 | -------------- | |
45 | ||
46 | AF_INET : constant := 2; -- IPv4 address family | |
47 | AF_INET6 : constant := 3; -- IPv6 address family | |
48 | ||
49 | ----------- | |
50 | -- Modes -- | |
51 | ----------- | |
52 | ||
53 | SOCK_STREAM : constant := 1; -- Stream socket | |
54 | SOCK_DGRAM : constant := 2; -- Datagram socket | |
55 | ||
56 | ------------------- | |
57 | -- Socket errors -- | |
58 | ------------------- | |
59 | ||
60 | EACCES : constant := 10013; -- Permission denied | |
61 | EADDRINUSE : constant := 10048; -- Address already in use | |
62 | EADDRNOTAVAIL : constant := 10049; -- Cannot assign address | |
63 | EAFNOSUPPORT : constant := 10047; -- Addr family not supported | |
64 | EALREADY : constant := 10037; -- Operation in progress | |
65 | EBADF : constant := 10009; -- Bad file descriptor | |
66 | ECONNABORTED : constant := 10053; -- Connection aborted | |
67 | ECONNREFUSED : constant := 10061; -- Connection refused | |
68 | ECONNRESET : constant := 10054; -- Connection reset by peer | |
69 | EDESTADDRREQ : constant := 10039; -- Destination addr required | |
70 | EFAULT : constant := 10014; -- Bad address | |
71 | EHOSTDOWN : constant := 10064; -- Host is down | |
72 | EHOSTUNREACH : constant := 10065; -- No route to host | |
73 | EINPROGRESS : constant := 10036; -- Operation now in progress | |
74 | EINTR : constant := 10004; -- Interrupted system call | |
75 | EINVAL : constant := 10022; -- Invalid argument | |
76 | EIO : constant := 10101; -- Input output error | |
77 | EISCONN : constant := 10056; -- Socket already connected | |
78 | ELOOP : constant := 10062; -- Too many symbolic lynks | |
79 | EMFILE : constant := 10024; -- Too many open files | |
80 | EMSGSIZE : constant := 10040; -- Message too long | |
81 | ENAMETOOLONG : constant := 10063; -- Name too long | |
82 | ENETDOWN : constant := 10050; -- Network is down | |
83 | ENETRESET : constant := 10052; -- Disconn. on network reset | |
84 | ENETUNREACH : constant := 10051; -- Network is unreachable | |
85 | ENOBUFS : constant := 10055; -- No buffer space available | |
86 | ENOPROTOOPT : constant := 10042; -- Protocol not available | |
87 | ENOTCONN : constant := 10057; -- Socket not connected | |
88 | ENOTSOCK : constant := 10038; -- Operation on non socket | |
89 | EOPNOTSUPP : constant := 10045; -- Operation not supported | |
90 | EPFNOSUPPORT : constant := 10046; -- Unknown protocol family | |
91 | EPROTONOSUPPORT : constant := 10043; -- Unknown protocol | |
92 | EPROTOTYPE : constant := 10041; -- Unknown protocol type | |
93 | ESHUTDOWN : constant := 10058; -- Cannot send once shutdown | |
94 | ESOCKTNOSUPPORT : constant := 10044; -- Socket type not supported | |
95 | ETIMEDOUT : constant := 10060; -- Connection timed out | |
96 | ETOOMANYREFS : constant := 10059; -- Too many references | |
97 | EWOULDBLOCK : constant := 10035; -- Operation would block | |
98 | ||
99 | ----------------- | |
100 | -- Host errors -- | |
101 | ----------------- | |
102 | ||
103 | HOST_NOT_FOUND : constant := 11001; -- Unknown host | |
104 | TRY_AGAIN : constant := 11002; -- Host name lookup failure | |
105 | NO_DATA : constant := 11004; -- No data record for name | |
106 | NO_RECOVERY : constant := 11003; -- Non recoverable errors | |
107 | ||
108 | ------------------- | |
109 | -- Control flags -- | |
110 | ------------------- | |
111 | ||
112 | FIONBIO : constant := -2147195266; -- Set/clear non-blocking io | |
113 | FIONREAD : constant := 1074030207; -- How many bytes to read | |
114 | ||
115 | -------------------- | |
116 | -- Shutdown modes -- | |
117 | -------------------- | |
118 | ||
119 | SHUT_RD : constant := 0; -- No more recv | |
120 | SHUT_WR : constant := 1; -- No more send | |
121 | SHUT_RDWR : constant := 2; -- No more recv/send | |
122 | ||
123 | --------------------- | |
124 | -- Protocol levels -- | |
125 | --------------------- | |
126 | ||
127 | SOL_SOCKET : constant := 65535; -- Options for socket level | |
128 | IPPROTO_IP : constant := 0; -- Dummy protocol for IP | |
129 | IPPROTO_UDP : constant := 17; -- UDP | |
130 | IPPROTO_TCP : constant := 6; -- TCP | |
131 | ||
132 | ------------------- | |
133 | -- Request flags -- | |
134 | ------------------- | |
135 | ||
136 | MSG_OOB : constant := 1; -- Process out-of-band data | |
137 | MSG_PEEK : constant := 2; -- Peek at incoming data | |
138 | MSG_EOR : constant := -1; -- Send end of record | |
139 | MSG_WAITALL : constant := -1; -- Wait for full reception | |
140 | ||
141 | -------------------- | |
142 | -- Socket options -- | |
143 | -------------------- | |
144 | ||
145 | TCP_NODELAY : constant := 1; -- Do not coalesce packets | |
146 | SO_SNDBUF : constant := 4097; -- Set/get send buffer size | |
147 | SO_RCVBUF : constant := 4098; -- Set/get recv buffer size | |
148 | SO_REUSEADDR : constant := 4; -- Bind reuse local address | |
149 | SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs | |
150 | SO_LINGER : constant := 128; -- Defer close to flush data | |
151 | SO_ERROR : constant := 4103; -- Get/clear error status | |
152 | SO_BROADCAST : constant := 32; -- Can send broadcast msgs | |
153 | IP_ADD_MEMBERSHIP : constant := 5; -- Join a multicast group | |
154 | IP_DROP_MEMBERSHIP : constant := 6; -- Leave a multicast group | |
155 | IP_MULTICAST_TTL : constant := 3; -- Set/get multicast TTL | |
156 | IP_MULTICAST_LOOP : constant := 4; -- Set/get mcast loopback | |
6cbd1b6f RK |
157 | |
158 | end GNAT.Sockets.Constants; |