blob: 32344dca9574250760896800e3c366861b017173 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# Copyright (C) 2017 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# The GNU C Library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
# You should have received a copy of the GNU Lesser General Public
# License along with the GNU C Library; if not, see
# <http://www.gnu.org/licenses/>.
# Generate errno_constants.pysym from errno.texi.
# errno.texi contains lines like:
# @errno{ENOSYS, 123, Function not implemented}
# The number is only relevant for the Hurd.
BEGIN {
print "#include <errno.h>"
print ""
print "-- Errno constants"
# Some error constants do not exist on all supported operating systems.
# FIXME: Encode this information in errno.texi.
## (Sometimes) two names for the same number
optional["EDEADLOCK"] = 1
optional["EDEADLK"] = 1
optional["EOPNOTSUPP"] = 1
optional["ENOTSUP"] = 1
optional["EWOULDBLOCK"] = 1
optional["EAGAIN"] = 1
## BSD-specific
optional["EAUTH"] = 1
optional["EBADRPC"] = 1
optional["EFTYPE"] = 1
optional["ENEEDAUTH"] = 1
optional["EPROCLIM"] = 1
optional["EPROCUNAVAIL"] = 1
optional["EPROGMISMATCH"] = 1
optional["EPROGUNAVAIL"] = 1
optional["ERPCMISMATCH"] = 1
## GNU-specific
optional["EBACKGROUND"] = 1
optional["ED"] = 1
optional["EDIED"] = 1
optional["EGRATUITOUS"] = 1
optional["EGREGIOUS"] = 1
optional["EIEIO"] = 1
}
/^@errno\{/ {
e = substr($1, 8, length($1)-8)
if (e in optional)
{
print "#ifdef", e
print e
print "#endif"
}
else
print e
}
|