]>
Commit | Line | Data |
---|---|---|
38cbfe40 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 | -- -- | |
d6c7ed50 | 9 | -- Copyright (C) 2000-2004 Free Software Foundation, Inc. -- |
38cbfe40 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. -- | |
38cbfe40 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 | ||
5d1a9698 | 38 | -- This is the version for GNU/Linux |
b1c1e25c | 39 | -- Do not edit this file by hand, instead edit and re-run gen-soccon.c |
38cbfe40 RK |
40 | |
41 | package GNAT.Sockets.Constants is | |
42 | ||
fbf5a39b AC |
43 | -------------- |
44 | -- Families -- | |
45 | -------------- | |
46 | ||
47 | AF_INET : constant := 2; -- IPv4 address family | |
48 | AF_INET6 : constant := 10; -- IPv6 address family | |
49 | ||
50 | ----------- | |
51 | -- Modes -- | |
52 | ----------- | |
53 | ||
54 | SOCK_STREAM : constant := 1; -- Stream socket | |
55 | SOCK_DGRAM : constant := 2; -- Datagram socket | |
56 | ||
57 | ------------------- | |
58 | -- Socket errors -- | |
59 | ------------------- | |
60 | ||
61 | EACCES : constant := 13; -- Permission denied | |
62 | EADDRINUSE : constant := 98; -- Address already in use | |
63 | EADDRNOTAVAIL : constant := 99; -- Cannot assign address | |
64 | EAFNOSUPPORT : constant := 97; -- Addr family not supported | |
65 | EALREADY : constant := 114; -- Operation in progress | |
66 | EBADF : constant := 9; -- Bad file descriptor | |
67 | ECONNABORTED : constant := 103; -- Connection aborted | |
68 | ECONNREFUSED : constant := 111; -- Connection refused | |
69 | ECONNRESET : constant := 104; -- Connection reset by peer | |
70 | EDESTADDRREQ : constant := 89; -- Destination addr required | |
71 | EFAULT : constant := 14; -- Bad address | |
72 | EHOSTDOWN : constant := 112; -- Host is down | |
73 | EHOSTUNREACH : constant := 113; -- No route to host | |
74 | EINPROGRESS : constant := 115; -- Operation now in progress | |
75 | EINTR : constant := 4; -- Interrupted system call | |
76 | EINVAL : constant := 22; -- Invalid argument | |
77 | EIO : constant := 5; -- Input output error | |
78 | EISCONN : constant := 106; -- Socket already connected | |
79 | ELOOP : constant := 40; -- Too many symbolic lynks | |
80 | EMFILE : constant := 24; -- Too many open files | |
81 | EMSGSIZE : constant := 90; -- Message too long | |
82 | ENAMETOOLONG : constant := 36; -- Name too long | |
83 | ENETDOWN : constant := 100; -- Network is down | |
84 | ENETRESET : constant := 102; -- Disconn. on network reset | |
85 | ENETUNREACH : constant := 101; -- Network is unreachable | |
86 | ENOBUFS : constant := 105; -- No buffer space available | |
87 | ENOPROTOOPT : constant := 92; -- Protocol not available | |
88 | ENOTCONN : constant := 107; -- Socket not connected | |
89 | ENOTSOCK : constant := 88; -- Operation on non socket | |
90 | EOPNOTSUPP : constant := 95; -- Operation not supported | |
91 | EPFNOSUPPORT : constant := 96; -- Unknown protocol family | |
92 | EPROTONOSUPPORT : constant := 93; -- Unknown protocol | |
93 | EPROTOTYPE : constant := 91; -- Unknown protocol type | |
94 | ESHUTDOWN : constant := 108; -- Cannot send once shutdown | |
95 | ESOCKTNOSUPPORT : constant := 94; -- Socket type not supported | |
96 | ETIMEDOUT : constant := 110; -- Connection timed out | |
97 | ETOOMANYREFS : constant := 109; -- Too many references | |
98 | EWOULDBLOCK : constant := 11; -- Operation would block | |
99 | ||
100 | ----------------- | |
101 | -- Host errors -- | |
102 | ----------------- | |
103 | ||
104 | HOST_NOT_FOUND : constant := 1; -- Unknown host | |
105 | TRY_AGAIN : constant := 2; -- Host name lookup failure | |
106 | NO_DATA : constant := 4; -- No data record for name | |
107 | NO_RECOVERY : constant := 3; -- Non recoverable errors | |
108 | ||
109 | ------------------- | |
110 | -- Control flags -- | |
111 | ------------------- | |
112 | ||
113 | FIONBIO : constant := 21537; -- Set/clear non-blocking io | |
114 | FIONREAD : constant := 21531; -- How many bytes to read | |
115 | ||
116 | -------------------- | |
117 | -- Shutdown modes -- | |
118 | -------------------- | |
119 | ||
120 | SHUT_RD : constant := 0; -- No more recv | |
121 | SHUT_WR : constant := 1; -- No more send | |
122 | SHUT_RDWR : constant := 2; -- No more recv/send | |
123 | ||
124 | --------------------- | |
125 | -- Protocol levels -- | |
126 | --------------------- | |
127 | ||
128 | SOL_SOCKET : constant := 1; -- Options for socket level | |
129 | IPPROTO_IP : constant := 0; -- Dummy protocol for IP | |
130 | IPPROTO_UDP : constant := 17; -- UDP | |
131 | IPPROTO_TCP : constant := 6; -- TCP | |
132 | ||
133 | ------------------- | |
134 | -- Request flags -- | |
135 | ------------------- | |
136 | ||
137 | MSG_OOB : constant := 1; -- Process out-of-band data | |
138 | MSG_PEEK : constant := 2; -- Peek at incoming data | |
139 | MSG_EOR : constant := 128; -- Send end of record | |
140 | MSG_WAITALL : constant := 256; -- Wait for full reception | |
d6c7ed50 TQ |
141 | MSG_NOSIGNAL : constant := 16384; -- No SIGPIPE on send |
142 | MSG_Forced_Flags : constant := MSG_NOSIGNAL; | |
fbf5a39b AC |
143 | |
144 | -------------------- | |
145 | -- Socket options -- | |
146 | -------------------- | |
147 | ||
148 | TCP_NODELAY : constant := 1; -- Do not coalesce packets | |
149 | SO_SNDBUF : constant := 7; -- Set/get send buffer size | |
150 | SO_RCVBUF : constant := 8; -- Set/get recv buffer size | |
151 | SO_REUSEADDR : constant := 2; -- Bind reuse local address | |
152 | SO_KEEPALIVE : constant := 9; -- Enable keep-alive msgs | |
153 | SO_LINGER : constant := 13; -- Defer close to flush data | |
154 | SO_ERROR : constant := 4; -- Get/clear error status | |
155 | SO_BROADCAST : constant := 6; -- Can send broadcast msgs | |
156 | IP_ADD_MEMBERSHIP : constant := 35; -- Join a multicast group | |
157 | IP_DROP_MEMBERSHIP : constant := 36; -- Leave a multicast group | |
158 | IP_MULTICAST_TTL : constant := 33; -- Set/get multicast TTL | |
159 | IP_MULTICAST_LOOP : constant := 34; -- Set/get mcast loopback | |
160 | ||
38cbfe40 | 161 | end GNAT.Sockets.Constants; |