]>
Commit | Line | Data |
---|---|---|
1fd5e000 CF |
1 | /* version.h -- Cygwin version numbers and accompanying documentation. |
2 | ||
bc837d22 | 3 | Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, |
d2264bce | 4 | 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Red Hat, Inc. |
1fd5e000 CF |
5 | |
6 | This file is part of Cygwin. | |
7 | ||
8 | This software is a copyrighted work licensed under the terms of the | |
9 | Cygwin license. Please consult the file "CYGWIN_LICENSE" for | |
10 | details. */ | |
11 | ||
12 | /* Cygwin versioning is relatively complicated because of its status | |
13 | as a shared library. Let's start with how versioning used to be done. | |
14 | ||
15 | Historical versioning in Cygwin 16.0 to 19.5: | |
16 | ||
17 | In the olden days of Cygwin, we had a dll major and minor version | |
18 | and a registry version. The major number started at 16 because the | |
19 | "b15" GNU-Win32 release of the compiler tools was out when this | |
20 | scheme was started. We incremented the DLL name frequently (for | |
21 | every official release) and towards the end of this period every | |
22 | release used a different shared memory area to prevent DLLs from | |
23 | interfering with each other (embedding a build timestamp into the | |
24 | name of the shared memory area). This turned out to be a Bad Idea | |
25 | (tm) because people needed to mingle separate releases and have | |
26 | them work together more than we thought they would. This was | |
27 | especially problematic when tty info needed to be retained when an | |
28 | old Cygwin executable executed a newer one. | |
29 | ||
30 | In the old scheme, we incremented the major number whenever a | |
31 | change to the dll invalidated existing executables. This can | |
32 | happen for a number of reasons, including when functions are | |
33 | removed from the export list of the dll. The minor number was | |
34 | incremented when a change was made that we wanted to record, but | |
35 | that didn't invalidate existing executables. Both numbers were | |
36 | recorded in the executable and in the dll. | |
37 | ||
e80cbe3e CF |
38 | In October 1998 (starting with Cygwin 19.6), we started a new method |
39 | of Cygwin versioning: */ | |
1fd5e000 CF |
40 | |
41 | /* The DLL major and minor numbers correspond to the "version of | |
a7d42fef | 42 | the Cygwin shared library". This version is used to track important |
1fd5e000 CF |
43 | changes to the DLL and is mainly informative in nature. */ |
44 | ||
35d5d875 | 45 | #define CYGWIN_VERSION_DLL_MAJOR 2003 |
1968c57d | 46 | #define CYGWIN_VERSION_DLL_MINOR 1 |
1fd5e000 CF |
47 | |
48 | /* Major numbers before CYGWIN_VERSION_DLL_EPOCH are | |
49 | incompatible. */ | |
50 | ||
51 | #define CYGWIN_VERSION_DLL_EPOCH 19 | |
52 | ||
53 | /* CYGWIN_VERSION_DLL_COMBINED gives us a single number | |
54 | representing the combined DLL major and minor numbers. */ | |
55 | ||
fcc4976d DD |
56 | /* WATCH OUT FOR OCTAL! Don't use, say, "00020" for 0.20 */ |
57 | ||
1fd5e000 CF |
58 | #define CYGWIN_VERSION_DLL_MAKE_COMBINED(maj, min) (((maj) * 1000) + min) |
59 | #define CYGWIN_VERSION_DLL_COMBINED \ | |
1bdc5f1f | 60 | CYGWIN_VERSION_DLL_MAKE_COMBINED (CYGWIN_VERSION_DLL_MAJOR, CYGWIN_VERSION_DLL_MINOR) |
1fd5e000 CF |
61 | |
62 | /* Every version of cygwin <= this uses an old, incorrect method | |
63 | to determine signal masks. */ | |
64 | ||
27f564e9 CF |
65 | #define CYGWIN_VERSION_PER_PROCESS_API_VERSION_COMBINED(u) \ |
66 | CYGWIN_VERSION_DLL_MAKE_COMBINED ((u)->api_major, (u)->api_minor) | |
67 | ||
c34aee9b | 68 | #define CYGWIN_VERSION_USER_API_VERSION_COMBINED \ |
27f564e9 | 69 | CYGWIN_VERSION_PER_PROCESS_API_VERSION_COMBINED (user_data) |
c34aee9b | 70 | |
1fd5e000 CF |
71 | /* API versions <= this had a termios structure whose members were |
72 | too small to accomodate modern settings. */ | |
fcc4976d | 73 | #define CYGWIN_VERSION_DLL_OLD_TERMIOS 5 |
1fd5e000 | 74 | #define CYGWIN_VERSION_DLL_IS_OLD_TERMIOS \ |
c34aee9b | 75 | (CYGWIN_VERSION_USER_API_VERSION_COMBINED <= CYGWIN_VERSION_DLL_OLD_TERMIOS) |
1fd5e000 | 76 | |
9bc846bd | 77 | #define CYGWIN_VERSION_DLL_MALLOC_ENV 28 |
56cd25ee DD |
78 | /* Old APIs had getc/putc macros that conflict with new CR/LF |
79 | handling in the stdio buffers */ | |
80 | #define CYGWIN_VERSION_OLD_STDIO_CRLF_HANDLING \ | |
c34aee9b | 81 | (CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 20) |
56cd25ee | 82 | |
95a8465b | 83 | #define CYGWIN_VERSION_CHECK_FOR_S_IEXEC \ |
c34aee9b | 84 | (CYGWIN_VERSION_USER_API_VERSION_COMBINED >= 36) |
96a3f4ae CF |
85 | |
86 | #define CYGWIN_VERSION_CHECK_FOR_OLD_O_NONBLOCK \ | |
c34aee9b | 87 | (CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 28) |
c16d0946 CV |
88 | |
89 | #define CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES \ | |
c34aee9b | 90 | (CYGWIN_VERSION_USER_API_VERSION_COMBINED >= 79) |
8b00a766 CV |
91 | |
92 | #define CYGWIN_VERSION_CHECK_FOR_USING_ANCIENT_MSGHDR \ | |
c34aee9b | 93 | (CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 138) |
8b00a766 CV |
94 | |
95 | #define CYGWIN_VERSION_CHECK_FOR_USING_WINSOCK1_VALUES \ | |
c34aee9b | 96 | (CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 138) |
8b00a766 | 97 | |
bff43891 CV |
98 | #define CYGWIN_VERSION_CHECK_FOR_OLD_IFREQ \ |
99 | (CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 161) | |
100 | ||
a33fa76f CV |
101 | #define CYGWIN_VERSION_CHECK_FOR_OLD_CTYPE \ |
102 | (CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 209) | |
103 | ||
27f564e9 CF |
104 | #define CYGWIN_VERSION_USE_PSEUDO_RELOC_IN_DLL(u) \ |
105 | (CYGWIN_VERSION_PER_PROCESS_API_VERSION_COMBINED (u) >= 227) | |
106 | ||
27afe3a4 CV |
107 | #define CYGWIN_VERSION_CHECK_FOR_EXTRA_TM_MEMBERS \ |
108 | (CYGWIN_VERSION_USER_API_VERSION_COMBINED >= 272) | |
109 | ||
5aaaadc0 CF |
110 | #define CYGWIN_VERSION_CYGWIN_CONV 181 |
111 | ||
1fd5e000 CF |
112 | /* API_MAJOR 0.0: Initial version. API_MINOR changes: |
113 | 1: Export cygwin32_ calls as cygwin_ as well. | |
114 | 2: Export j1, jn, y1, yn. | |
9c510edc CF |
115 | 3: Export dll_noncygwin_dllcrt0. |
116 | 4: New socket ioctls, revamped ifconf support. | |
117 | 5: Thread support/exports. | |
118 | 6: Change in termios handling. | |
119 | 7: Export scandir and alphasort. | |
120 | 8: Export _ctype_, _sys_errlist, _sys_nerr. | |
1fd5e000 CF |
121 | 9: Mount-related changes, new cygwin_umount export. |
122 | Raw device support (tape, floppies). | |
123 | 10: Fast math routine support added. | |
124 | 11: Export seekdir, telldir. | |
125 | 12: Export pthread_join, pthread_detach. | |
126 | 13: Export math funcs gamma and friends, also _j0, _j1, etc. | |
127 | 14: Export snprintf and vnsprintf. | |
128 | 15: Export glob | |
129 | 16: Export cygwin_stackdump | |
4b17897e | 130 | 17: Export fast math stuff |
5abc9b83 | 131 | 18: Stop exporting _strace_wm |
8a06963c | 132 | 19: Export fchown, lchown, lacl |
66aea0c5 | 133 | 20: regsub, inet_network |
56cd25ee | 134 | 21: incompatible change to stdio cr/lf and buffering |
64b30629 | 135 | 22: Export cygwin_logon_user, cygwin_set_impersonation_token. |
9c510edc CF |
136 | geteuid, getegid return effective uid/gid. |
137 | getuid, getgid return real uid/gid. | |
138 | seteuid, setegid set only effective uid/gid. | |
139 | setuid, setgid set effective and real uid/gid. | |
14a3bc2f CF |
140 | 23: Export new dll_crt0 interface and cygwin_user_data for use |
141 | with crt0 startup code. | |
914e40df | 142 | 24: Export poll and _poll. |
bd4ec496 | 143 | 25: Export getmode and _getmode. |
84c7d409 CF |
144 | 26: CW_GET_CYGDRIVE_PREFIXES addition to external.cc |
145 | 27: CW_GETPINFO_FULL addition to external.cc | |
cbe4c8e2 | 146 | 28: Accidentally bumped by cgf |
7d9688b7 | 147 | 29: Export hstrerror |
9bc846bd | 148 | 30: CW_GET_CYGDRIVE_INFO addition to external.cc |
2e68f6b4 | 149 | 31: Export inet_aton |
8a93913d | 150 | 32: Export getrlimit/setrlimit |
c65a3183 | 151 | 33: Export setlogmask |
ae6c8e4f | 152 | 34: Separated out mount table |
f97e7d75 | 153 | 35: Export drand48, erand48, jrand48, lcong48, lrand48, |
9c510edc | 154 | mrand48, nrand48, seed48, and srand48. |
95a8465b | 155 | 36: Added _cygwin_S_IEXEC, et al |
30f326bf | 156 | 37: [f]pathconv support _PC_POSIX_PERMISSIONS and _PC_POSIX_SECURITY |
c02e9189 | 157 | 38: vscanf, vscanf_r, and random pthread functions |
86699e15 | 158 | 39: asctime_r, ctime_r, gmtime_r, localtime_r |
463513f0 | 159 | 40: fchdir |
351a8548 | 160 | 41: __signgam |
8e4e3874 | 161 | 42: sys_errlist, sys_nerr |
3ca6bcc4 | 162 | 43: sigsetjmp, siglongjmp fixed |
a71aee46 | 163 | 44: Export dirfd |
c12a96d1 | 164 | 45: perprocess change, gamma_r, gammaf_r, lgamma_r, lgammaf_r |
dbc82a87 | 165 | 46: Remove cygwin_getshared |
b20e2ee6 | 166 | 47: Report EOTWarningZoneSize in struct mtget. |
4f235c95 | 167 | 48: Export "posix" regex functions |
971ec8d3 | 168 | 49: Export setutent, endutent, utmpname, getutent, getutid, getutline. |
104c3be6 | 169 | 50: Export fnmatch. |
df3af773 | 170 | 51: Export recvmsg, sendmsg. |
dbe67a81 | 171 | 52: Export strptime |
feb7f1a9 | 172 | 53: Export strlcat, strlcpy. |
b7e51146 | 173 | 54: Export __fpclassifyd, __fpclassifyf, __signbitd, __signbitf. |
bf47141f | 174 | 55: Export fcloseall, fcloseall_r. |
667f875d | 175 | 56: Make ntsec on by default. |
5519d543 | 176 | 57: Export setgroups. |
c7e2187a | 177 | 58: Export memalign, valloc, malloc_trim, malloc_usable_size, mallopt, |
b59e1aac | 178 | malloc_stats |
8dca9e23 | 179 | 59: getsid |
281d8a32 | 180 | 60: MSG_NOSIGNAL |
75d01d9e CV |
181 | 61: Export getc_unlocked, getchar_unlocked, putc_unlocked, |
182 | putchar_unlocked | |
8efb9fd7 CF |
183 | 62: Erroneously bumped |
184 | 63: Export pututline | |
0be11474 | 185 | 64: Export fseeko, ftello |
8efb9fd7 | 186 | 65: Export siginterrupt |
05c728c4 | 187 | 66: Export nl_langinfo |
cdaf8896 | 188 | 67: Export pthread_getsequence_np |
838ad582 | 189 | 68: Export netdb stuff |
11b087d5 | 190 | 69: Export strtof |
70d61f30 | 191 | 70: Export asprintf, _asprintf_r, vasprintf, _vasprintf_r |
afa378e7 | 192 | 71: Export strerror_r |
89f7e8d1 | 193 | 72: Export nanosleep |
7d33eefa | 194 | 73: Export setreuid32, setreuid, setregid32, setregid |
f655eadf CF |
195 | 74: Export _strtold a64l hcreate hcreate_r hdestroy hdestroy_r hsearch |
196 | hsearch_r isblank iswalnum iswalpha iswblank iswcntrl iswctype | |
197 | iswdigit iswgraph iswlower iswprint iswpunct iswspace iswupper | |
198 | iswxdigit l64a mbrlen mbrtowc mbsinit mbsrtowcs mempcpy | |
199 | on_exit setbuffer setlinebuf strndup strnlen tdelete tdestroy | |
200 | tfind towctrans towlower towupper tsearch twalk wcrtomb wcscat | |
201 | wcschr wcscpy wcscspn wcslcat wcslcpy wcsncat wcsncmp wcsncpy | |
202 | wcspbrk wcsrchr wcsrtombs wcsspn wcsstr wctob wctob wctrans | |
203 | wctype wmemchr wmemcmp wmemcpy wmemmove wmemset | |
8fc16812 CF |
204 | 75: Export exp2 exp2f fdim fdimf fma fmaf fmax fmaxf fmin fminf lrint |
205 | lrintf lround lroundf nearbyint nearbyintf remquo remquof | |
206 | round roundf scalbln scalblnf sincos sincosf tgamma tgammaf | |
207 | truncf | |
878e60c5 | 208 | 76: mallinfo |
005c3065 | 209 | 77: thread-safe exit/at_exit |
f194ba1f | 210 | 78: Use stat and fstat rather than _stat, and _fstat. |
de9e39f7 | 211 | Export btowc and trunc. |
f194ba1f | 212 | 79: Export acl32 aclcheck32 aclfrommode32 aclfrompbits32 aclfromtext32 |
b1aae492 CV |
213 | aclsort32 acltomode32 acltopbits32 acltotext32 facl32 |
214 | fgetpos64 fopen64 freopen64 fseeko64 fsetpos64 ftello64 | |
215 | _open64 _lseek64 _fstat64 _stat64 mknod32 | |
00d296a3 | 216 | 80: Export pthread_rwlock stuff |
5a4a19b3 | 217 | 81: CW_CHECK_NTSEC addition to external.cc |
ac5ec961 | 218 | 82: Export wcscoll wcswidth wcwidth |
c448f78f | 219 | 83: Export gethostid |
99b1a40d | 220 | 84: Pty open allocates invisible console. 64 bit interface |
3e66a81c | 221 | 85: Export new 32/64 functions from API 0.79 only with leading |
de9e39f7 CF |
222 | underscore. No problems with backward compatibility since no |
223 | official release has been made so far. This change removes | |
224 | exported symbols like fopen64, which might confuse configure. | |
10bada05 | 225 | 86: Export ftok |
54152c7e | 226 | 87: Export vsyslog |
c433f461 | 227 | 88: Export _getreent |
1fbeb827 | 228 | 89: Export __mempcpy |
86ed5c88 | 229 | 90: Export _fopen64 |
dcb6ce0c | 230 | 91: Export argz_add argz_add_sep argz_append argz_count argz_create |
24efca14 CV |
231 | argz_create_sep argz_delete argz_extract argz_insert |
232 | argz_next argz_replace argz_stringify envz_add envz_entry | |
233 | envz_get envz_merge envz_remove envz_strip | |
34a1d63d CV |
234 | 92: Export getusershell, setusershell, endusershell |
235 | 93: Export daemon, forkpty, openpty, iruserok, ruserok, login_tty, | |
236 | openpty, forkpty, revoke, logwtmp, updwtmp | |
932a40e8 | 237 | 94: Export getopt, getopt_long, optarg, opterr, optind, optopt, |
de9e39f7 | 238 | optreset, __check_rhosts_file, __rcmd_errstr. |
e217832c | 239 | 95: Export shmat, shmctl, shmdt, shmget. |
5ec9ea21 | 240 | 96: CW_GET_ERRNO_FROM_WINERROR addition to external.cc |
07233966 | 241 | 97: Export sem_open, sem_close, sem_timedwait, sem_getvalue. |
56a4ceac | 242 | 98: Export _tmpfile64. |
bcd06214 | 243 | 99: CW_GET_POSIX_SECURITY_ATTRIBUTE addition to external.cc. |
6ef3b76b | 244 | 100: CW_GET_SHMLBA addition to external.cc. |
3e68e19f | 245 | 101: Export err, errx, verr, verrx, warn, warnx, vwarn, vwarnx. |
8e68687d | 246 | 102: CW_GET_UID_FROM_SID and CW_GET_GID_FROM_SID addition to external.cc. |
6e17cee5 | 247 | 103: Export getprogname, setprogname. |
a6df500f | 248 | 104: Export msgctl, msgget, msgrcv, msgsnd, semctl, semget, semop. |
9a4d574b | 249 | 105: Export sigwait. |
f3a1e23e | 250 | 106: Export flock. |
dc399868 | 251 | 107: Export fcntl64. |
29d52c8a | 252 | 108: Remove unused (hopefully) reent_data export. |
fba870ac CF |
253 | 109: Oh well. Someone uses reent_data. |
254 | 110: Export clock_gettime, sigwaitinfo, timer_create, timer_delete, | |
05726ddd | 255 | timer_settime |
ca713cfa | 256 | 111: Export sigqueue, sighold. |
80c74a5f | 257 | 112: Redefine some mtget fields. |
dee56309 | 258 | 113: Again redefine some mtget fields. Use mt_fileno and mt_blkno as |
05726ddd | 259 | on Linux. |
93d66ddc | 260 | 114: Export rand_r, ttyname_r. |
68509b30 | 261 | 115: Export flockfile, ftrylockfile, funlockfile, getgrgid_r, getgrnam_r, |
05726ddd | 262 | getlogin_r. |
41bba72e | 263 | 116: Export atoll. |
2ef89b22 | 264 | 117: Export utmpx functions, Return utmp * from pututent. |
72c1491b | 265 | 118: Export getpriority, setpriority. |
9ba51f6d | 266 | 119: Export fdatasync. |
24e8fc68 | 267 | 120: Export basename, dirname. |
c8b404bf | 268 | 122: Export statvfs, fstatvfs. |
6b76b0c5 | 269 | 123: Export utmpxname. |
d2428633 | 270 | 124: Add MAP_AUTOGROW flag to mmap. |
bc3f9e29 | 271 | 125: LD_PRELOAD/CW_HOOK available. |
06e18175 CF |
272 | 126: Export lsearch, lfind, timer_gettime. |
273 | 127: Export sigrelese. | |
d02099f2 | 274 | 128: Export pselect. |
2a41ee9e | 275 | 129: Export mkdtemp. |
5680109c | 276 | 130: Export strtoimax, strtoumax, llabs, imaxabs, lldiv, imaxdiv. |
b3ba5059 | 277 | 131: Export inet_ntop, inet_pton. |
fa2d9fc5 | 278 | 132: Add GLOB_LIMIT flag to glob. |
2f5de4af | 279 | 133: Export __getline, __getdelim. |
4cc9a82e | 280 | 134: Export getline, getdelim. |
7d7d09ae | 281 | 135: Export pread, pwrite |
723d64e6 | 282 | 136: Add TIOCMBIS/TIOCMBIC ioctl codes. |
e6ae6cd3 CV |
283 | 137: fts_children, fts_close, fts_get_clientptr, fts_get_stream, |
284 | fts_open, fts_read, fts_set, fts_set_clientptr, ftw, nftw. | |
d9a22764 | 285 | 138: Export readdir_r. |
8b00a766 CV |
286 | 139: Start using POSIX definition of struct msghdr and WinSock2 |
287 | IPPROTO_IP values. | |
1f5c3042 | 288 | 140: Export mlock, munlock. |
88d30f0b | 289 | 141: Export futimes, lutimes. |
42cd8528 | 290 | 142: Export memmem |
ecb908f6 | 291 | 143: Export clock_getres, clock_setres |
19e7c3a0 | 292 | 144: Export timelocal, timegm. |
e4809ddd | 293 | 145: Add MAP_NORESERVE flag to mmap. |
832dd7e6 CV |
294 | 146: Change SI_USER definition. FIXME: Need to develop compatibility |
295 | macro for this? | |
296 | 147: Eliminate problematic d_ino from dirent structure. unsetenv now | |
297 | returns int, as per linux. | |
e3d14af1 | 298 | 148: Add open(2) flags O_SYNC, O_RSYNC, O_DSYNC and O_DIRECT. |
52792a77 | 299 | 149: Add open(2) flag O_NOFOLLOW. |
6c5da678 | 300 | 150: Export getsubopt. |
868fb2ff | 301 | 151: Export __opendir_with_d_ino |
832dd7e6 | 302 | 152: Revert to having d_ino in dirent unconditionally. |
d6b2195f | 303 | 153: Export updwtmpx, Implement CW_SETUP_WINENV. |
c6e48b1c | 304 | 154: Export sigset, sigignore. |
6fb7c8ae | 305 | 155: Export __isinff, __isinfd, __isnanf, __isnand. |
82a044a5 | 306 | 156: Export __srbuf_r, __swget_r. |
70e476d2 CV |
307 | 157: Export gai_strerror, getaddrinfo, getnameinfo, freeaddrinfo, |
308 | in6addr_any, in6addr_loopback. | |
309 | 158: Export bindresvport, bindresvport_sa, iruserok_sa, rcmd_af, | |
310 | rresvport_af. | |
311 | 159: Export posix_openpt. | |
64fdc12e | 312 | 160: Export posix_fadvise, posix_fallocate. |
0c365c63 | 313 | 161: Export resolver functions. |
bff43891 CV |
314 | 162: New struct ifreq. Export if_nametoindex, if_indextoname, |
315 | if_nameindex, if_freenameindex. | |
59e3b6ca | 316 | 163: Export posix_madvise, posix_memalign. |
ce8bab5a | 317 | 164: Export shm_open, shm_unlink. |
7b487ba9 CV |
318 | 165: Export mq_close, mq_getattr, mq_notify, mq_open, mq_receive, |
319 | mq_send, mq_setattr, mq_timedreceive, mq_timedsend, mq_unlink. | |
8fbd574e | 320 | 166: Export sem_unlink. |
70de8290 | 321 | 167: Add st_birthtim to struct stat. |
22ed94e5 | 322 | 168: Export asnprintf, dprintf, _Exit, vasnprintf, vdprintf. |
1570432d | 323 | 169: Export confstr. |
ead5b131 | 324 | 170: Export insque, remque. |
d3c73d49 | 325 | 171: Export exp10, exp10f, pow10, pow10f, strcasestr, funopen, |
70300fdb | 326 | fopencookie. |
a71ecb55 | 327 | 172: Export getifaddrs, freeifaddrs. |
048e00e0 | 328 | 173: Export __assert_func. |
3e96da0b | 329 | 174: Export stpcpy, stpncpy. |
40570a82 | 330 | 175: Export fdopendir. |
d2d9ce09 | 331 | 176: Export wcstol, wcstoll, wcstoul, wcstoull, wcsxfrm. |
5c8891e9 | 332 | 177: Export sys_sigabbrev |
c6bfc3d4 | 333 | 178: Export wcpcpy, wcpncpy. |
b918632a DK |
334 | 179: Export _f_llrint, _f_llrintf, _f_llrintl, _f_lrint, _f_lrintf, |
335 | _f_lrintl, _f_rint, _f_rintf, _f_rintl, llrint, llrintf, llrintl, | |
336 | rintl, lrintl, and redirect exports of lrint, lrintf, rint, rintf. | |
50450dcc CV |
337 | 180: Export getxattr, lgetxattr, fgetxattr, listxattr, llistxattr, |
338 | flistxattr, setxattr, lsetxattr, fsetxattr, removexattr, | |
339 | lremovexattr, fremovexattr. | |
edab6053 | 340 | 181: Export cygwin_conv_path, cygwin_create_path, cygwin_conv_path_list. |
a998dd70 | 341 | 182: Export lockf. |
acbc8473 | 342 | FIXME: Removed 12 year old and entirely wrong wprintf function at |
025c1fac | 343 | this point. We need a working implementation soon. |
949b58f6 | 344 | 183: Export open_memstream, fmemopen. |
c57b57e5 | 345 | 184: Export openat, faccessat, fchmodat, fchownat, fstatat, futimesat, |
025c1fac | 346 | linkat, mkdirat, mkfifoat, mknodat, readlinkat, renameat, symlinkat, |
c57b57e5 | 347 | unlinkat. |
eba32ec8 | 348 | 185: Export futimens, utimensat. |
f5b18cbe | 349 | 186: Remove ancient V8 regexp functions. Also eliminate old crt0 interface |
025c1fac | 350 | which provided its own user_data structure. |
175742d8 | 351 | 187: Export cfmakeraw. |
51303cbd | 352 | 188: Export CW_SET_PRIV_KEY. |
412ec1f4 | 353 | 189: Implement dirent.d_type. |
f8a41da9 CV |
354 | 190: Export fgetwc, fgetws, fputwc, fputws, fwide, getwc, getwchar, |
355 | putwc, putwchar, ungetwc. | |
feb20755 | 356 | 191: Export glob_pattern_p |
d95d8c53 | 357 | 192: CW_SETERRNO added |
11acb173 | 358 | 193: Export wcstok. |
64d6e1d4 | 359 | 194: fcntl.h flags O_DIRECTORY, O_EXEC and O_SEARCH added. |
cc9054cc | 360 | 195: Export wcstod, wcstof. |
c6d37351 | 361 | 196: Export wcsnlen. |
de5c20c2 | 362 | 197: Export wcstoimax, wcstoumax. |
c6b9747e | 363 | 198: Export reallocf. |
15fc34ac | 364 | 199: Export open_wmemstream. |
89b5579d | 365 | 200: Export mbsnrtowcs, wcsnrtombs. |
45e20e47 | 366 | 201: Export wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf. |
6f57cb4a | 367 | 202: Export gethostbyname2. |
c47426ae | 368 | 203: Export wcsftime. |
71d13bca | 369 | 204: recv/send flag MSG_DONTWAIT added. |
32382e93 | 370 | 205: Export wscanf, fwscanf, swscanf, vwscanf, vfwscanf, vswscanf. |
cab0758e | 371 | 206: Export wcscasecmp, wcsncasecmp. |
19b3c04b | 372 | 207: Export wcsdup. |
a9a520b6 | 373 | 208: Export log2, log2f. |
9a110900 | 374 | 209: Export wordexp, wordfree. |
a33fa76f | 375 | 210: New ctype layout using variable ctype pointer. Export __ctype_ptr__. |
e5f37aa1 | 376 | 211: Export fpurge, mkstemps. |
b602bb90 | 377 | 212: Add and export libstdc++ malloc wrappers. |
2bf78f09 | 378 | 213: Export canonicalize_file_name, eaccess, euidaccess. |
15e9ecd1 | 379 | 214: Export execvpe, fexecve. |
c8ee587a | 380 | 215: CW_EXIT_PROCESS added. |
bc3aedd0 | 381 | 216: CW_SET_EXTERNAL_TOKEN added. |
526b0fbc | 382 | 217: CW_GET_INSTKEY added. |
339682e6 | 383 | 218: Export get_nprocs, get_nprocs_conf, get_phys_pages, get_avphys_pages. |
e70fdfb9 | 384 | 219: Export dup3, pipe2, O_CLOEXEC, F_DUPFD_CLOEXEC. |
0d653155 | 385 | 220: Export accept4, SOCK_CLOEXEC, SOCK_NONBLOCK. |
326fb376 | 386 | 221: Export strfmon. |
f5a73638 | 387 | 222: CW_INT_SETLOCALE added. |
0512608d | 388 | 223: SIGPWR added. |
53c24915 | 389 | 224: Export xdr* functions. |
a9fd7424 | 390 | 225: Export __xdr* functions. |
8f47a15c | 391 | 226: Export __locale_mb_cur_max. |
6259826e CF |
392 | 227: Add pseudo_reloc_start, pseudo_reloc_end, image_base to per_process. |
393 | 228: CW_STRERROR added. | |
3083fa94 | 394 | 229: Add mkostemp, mkostemps. |
b150f523 | 395 | 230: Add CLOCK_MONOTONIC. |
0f81b5d4 | 396 | 231: Add fenv.h functions. |
9810eef4 CV |
397 | 232: Export cacos, cacosf, cacosh, cacoshf, carg, cargf, casin, casinf, |
398 | casinh, casinhf, catan, catanf, catanh, catanhf, ccos, ccosf, ccosh, | |
399 | ccoshf, cexp, cexpf, cimag, cimagf, clog, clogf, conj, conjf, cpow, | |
400 | cpowf, cproj, cprojf, creal, crealf, csin, csinf, csinh, csinhf, | |
401 | csqrt, csqrtf, ctan, ctanf, ctanh, ctanhf. | |
85065234 | 402 | 233: Add TIOCGPGRP, TIOCSPGRP. Export llround, llroundf. |
6147b7f8 CV |
403 | 234: Export program_invocation_name, program_invocation_short_name. |
404 | 235: Export madvise. | |
3c9abad5 | 405 | 236: Export pthread_yield, __xpg_strerror_r. |
ec0f7c31 | 406 | 237: Export strchrnul. |
f00fe1b8 CV |
407 | 238: Export pthread_spin_destroy, pthread_spin_init, pthread_spin_lock, |
408 | pthread_spin_trylock, pthread_spin_unlock. | |
162deed5 | 409 | 239: Export pthread_setschedprio. |
20a0b8c8 | 410 | 240: Export ppoll. |
705a187e YS |
411 | 241: Export pthread_attr_getstack, pthread_attr_getstackaddr, |
412 | pthread_getattr_np. | |
2f7a5c89 | 413 | 242: Export psiginfo, psignal, sys_siglist. |
2f52cad9 | 414 | 243: Export sysinfo. |
6758d2a3 | 415 | 244: Export clock_settime. |
cdb42313 CV |
416 | 245: Export pthread_attr_getguardsize, pthread_attr_setguardsize, |
417 | pthread_attr_setstack, pthread_attr_setstackaddr. | |
c8ce5429 YS |
418 | 246: Add CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID. |
419 | Export clock_getcpuclockid, pthread_getcpuclockid. | |
d470b53c YS |
420 | 247: Export error, error_at_line, error_message_count, error_one_per_line, |
421 | error_print_progname. | |
ed516f97 | 422 | 248: Export __fpurge. |
8a7b0a00 | 423 | 249: Export pthread_condattr_getclock, pthread_condattr_setclock. |
bfc071db | 424 | 250: Export clock_nanosleep. |
c429beb2 | 425 | 251: RTLD_NODELETE, RTLD_NOLOAD, RTLD_DEEPBIND added. |
8dfce03b | 426 | 252: CW_CVT_ENV_TO_WINENV added. |
4add6f8d | 427 | 253: Export TIOCSCTTY, tcgetsid. |
0c1d8aaa | 428 | 254: Export getgrouplist. |
65a6152f | 429 | 255: Export ptsname_r. |
3a24189b | 430 | 256: Add CW_ALLOC_DRIVE_MAP, CW_MAP_DRIVE_MAP, CW_FREE_DRIVE_MAP. |
d5f3e0ba | 431 | 257: Export getpt. |
0b5355f1 | 432 | 258: Export get_current_dir_name. |
50350caf | 433 | 259: Export pthread_sigqueue. |
e587f14b | 434 | 260: Export scandirat. |
3ebb4f04 | 435 | 261: Export memrchr. |
010f7350 | 436 | 262: Export getmntent_r. |
beaf1df0 | 437 | 263: Export cfsetspeed. |
73dfbd86 | 438 | 264: Consistently export strtold |
e99674fb | 439 | 265: Export __b64_ntop, __b64_pton. |
291d93b5 CV |
440 | 266: Export arc4random, arc4random_addrandom, arc4random_buf, |
441 | arc4random_stir, arc4random_uniform. | |
ccccd71d | 442 | 267: Export rawmemchr. |
521953a8 | 443 | 268: Export GetCommandLineA, GetCommandLineW |
ef23b0a6 | 444 | 269: Allow application override of posix_memalign. |
3ee82da3 CV |
445 | 270: Redefine mtget.mt_resid field to contain current partition as well |
446 | as number of partitions on tape. | |
bb9d95eb | 447 | 271: Export posix_spawn, posix_spawnp, and helper functions. |
27afe3a4 | 448 | 272: Export tm_gmtoff and tm_zone members. |
0d45f7ee CV |
449 | 273: Skipped. |
450 | 274: Export __cxa_atexit and __cxa_finalize. | |
451 | 275: Introduce account mapping from Windows account DBs. Add CW_SETENT, | |
2d0cb1ac CV |
452 | CW_GETENT, CW_ENDENT, CW_GETNSSSEP, CW_GETPWSID, CW_GETGRSID, |
453 | CW_CYGNAME_FROM_WINNAME. | |
d326f841 | 454 | 276: Export ffsl, ffsll. |
697b9afe | 455 | 277: Add setsockopt(SO_PEERCRED). |
1db937e9 | 456 | 278: Add quotactl. |
d6aa3abb | 457 | 279: Export stime. |
dfc361da | 458 | 280: Static atexit in libcygwin.a, CW_FIXED_ATEXIT. |
54f79f86 | 459 | 281: Add CW_GETNSS_PWD_SRC, CW_GETNSS_GRP_SRC. |
0548dda6 | 460 | 282: Export __bsd_qsort_r, qsort_r. |
65d78556 YS |
461 | 283: Export __fbufsize, __flbf, __fpending, __freadable, __freading, |
462 | __fsetlocking, __fwritable, __fwriting. clearerr_unlocked, | |
463 | feof_unlocked, ferror_unlocked, fflush_unlocked, fgetc_unlocked, | |
464 | fgets_unlocked, fgetwc_unlocked, fgetws_unlocked, fileno_unlocked, | |
465 | fputc_unlocked, fputs_unlocked, fputwc_unlocked, fputws_unlocked, | |
466 | fread_unlocked, fwrite_unlocked, getwc_unlocked, getwchar_unlocked, | |
467 | putwc_unlocked, putwchar_unlocked. | |
d2264bce | 468 | 284: Export sockatmark. |
d550f187 | 469 | 285: Export wcstold. |
63b41dae | 470 | 286: Export cabsl, cimagl, creall, finitel, hypotl, sqrtl. |
37e87b84 | 471 | 287: Export issetugid. |
1020bb29 | 472 | 288: Export getcontext, makecontext, setcontext, swapcontext. |
7c96ab0b | 473 | 289: Export sigsetjmp, siglongjmp. |
38fd7ddb | 474 | 290: Add sysconf cache handling. |
6b457615 | 475 | 291: Export aligned_alloc, at_quick_exit, quick_exit. |
1fd5e000 CF |
476 | */ |
477 | ||
9a69aac0 CV |
478 | /* Note that we forgot to bump the api for ualarm, strtoll, strtoull, |
479 | sigaltstack, sethostname. */ | |
77f4a250 | 480 | |
1fd5e000 | 481 | #define CYGWIN_VERSION_API_MAJOR 0 |
6b457615 | 482 | #define CYGWIN_VERSION_API_MINOR 291 |
1fd5e000 CF |
483 | |
484 | /* There is also a compatibity version number associated with the | |
485 | shared memory regions. It is incremented when incompatible | |
486 | changes are made to the shared memory region *or* to any named | |
487 | shared mutexes, semaphores, etc. The arbitrary starting | |
656a999a CF |
488 | version was 0 (cygwin release 98r2). |
489 | Bump to 4 since this hasn't been rigorously updated in a | |
490 | while. */ | |
1fd5e000 | 491 | |
abbde487 | 492 | #define CYGWIN_VERSION_SHARED_DATA 5 |
1fd5e000 CF |
493 | |
494 | /* An identifier used in the names used to create shared objects. | |
495 | The full names include the CYGWIN_VERSION_SHARED_DATA version | |
496 | as well as this identifier. */ | |
497 | ||
498 | #define CYGWIN_VERSION_DLL_IDENTIFIER "cygwin1" | |
499 | ||
500 | /* The Cygwin mount table interface in the Win32 registry also | |
501 | has a version number associated with it in case that is | |
502 | changed in a non-backwards compatible fashion. Increment this | |
503 | version number whenever incompatible changes in mount table | |
504 | registry usage are made. | |
505 | ||
506 | 1: Original number version. | |
507 | 2: New mount registry layout, system-wide mount accessibility. | |
abe2834a | 508 | 3: The mount table is not in the registry anymore, but in /etc/fstab. |
1fd5e000 CF |
509 | */ |
510 | ||
abe2834a | 511 | #define CYGWIN_VERSION_MOUNT_REGISTRY 3 |
1fd5e000 CF |
512 | |
513 | /* Identifiers used in the Win32 registry. */ | |
514 | ||
1fd5e000 | 515 | #define CYGWIN_INFO_CYGWIN_REGISTRY_NAME "Cygwin" |
526b0fbc | 516 | #define CYGWIN_INFO_INSTALLATIONS_NAME "Installations" |
abe2834a CV |
517 | |
518 | /* The default cygdrive prefix. */ | |
519 | ||
a98b1584 | 520 | #define CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX "/cygdrive" |
1fd5e000 CF |
521 | |
522 | /* In addition to the above version number strings, the build | |
523 | process adds some strings that may be useful in | |
524 | debugging/identifying a particular Cygwin DLL: | |
525 | ||
526 | The mkvers.sh script at the top level produces a .cc file | |
527 | which initializes a cygwin_version structure based on the | |
528 | above version information and creates a string table for | |
529 | grepping via "fgrep '%%%' cygwinwhatever.dll" if you are | |
530 | using GNU grep. Otherwise you may want to do a | |
531 | "strings cygwinwhatever.dll | fgrep '%%%'" instead. | |
532 | ||
533 | This will produce output such as: | |
534 | ||
535 | %%% Cygwin dll_identifier: cygwin | |
536 | %%% Cygwin api_major: 0 | |
537 | %%% Cygwin api_minor: 0 | |
538 | %%% Cygwin dll_major: 19 | |
539 | %%% Cygwin dll_minor: 6 | |
540 | %%% Cygwin shared_data: 1 | |
541 | %%% Cygwin registry: b15 | |
542 | %%% Cygwin build date: Wed Oct 14 16:26:51 EDT 1998 | |
543 | %%% Cygwin shared id: cygwinS1 | |
544 | ||
545 | This information can also be obtained through a call to | |
546 | cygwin_internal (CW_GETVERSIONINFO). | |
547 | */ | |
548 | ||
082512ae | 549 | #define CYGWIN_VERSION_MAGIC(a, b) ((unsigned) ((((unsigned short) a) << 16) | (unsigned short) b)) |
77f4a250 | 550 | #define CYGWIN_VERSION_MAGIC_VERSION(a) ((unsigned) ((unsigned)a & 0xffff)) |