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