2000-02-17 20:38:33 +01:00
|
|
|
/* version.h -- Cygwin version numbers and accompanying documentation.
|
|
|
|
|
2013-01-21 05:38:31 +01:00
|
|
|
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
2013-04-23 11:44:36 +02:00
|
|
|
2007, 2008, 2009, 2010, 2011, 2012 Red Hat, Inc.
|
2000-02-17 20:38:33 +01:00
|
|
|
|
|
|
|
This file is part of Cygwin.
|
|
|
|
|
|
|
|
This software is a copyrighted work licensed under the terms of the
|
|
|
|
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
|
|
|
details. */
|
|
|
|
|
|
|
|
/* Cygwin versioning is relatively complicated because of its status
|
|
|
|
as a shared library. Let's start with how versioning used to be done.
|
|
|
|
|
|
|
|
Historical versioning in Cygwin 16.0 to 19.5:
|
|
|
|
|
|
|
|
In the olden days of Cygwin, we had a dll major and minor version
|
|
|
|
and a registry version. The major number started at 16 because the
|
|
|
|
"b15" GNU-Win32 release of the compiler tools was out when this
|
|
|
|
scheme was started. We incremented the DLL name frequently (for
|
|
|
|
every official release) and towards the end of this period every
|
|
|
|
release used a different shared memory area to prevent DLLs from
|
|
|
|
interfering with each other (embedding a build timestamp into the
|
|
|
|
name of the shared memory area). This turned out to be a Bad Idea
|
|
|
|
(tm) because people needed to mingle separate releases and have
|
|
|
|
them work together more than we thought they would. This was
|
|
|
|
especially problematic when tty info needed to be retained when an
|
|
|
|
old Cygwin executable executed a newer one.
|
|
|
|
|
|
|
|
In the old scheme, we incremented the major number whenever a
|
|
|
|
change to the dll invalidated existing executables. This can
|
|
|
|
happen for a number of reasons, including when functions are
|
|
|
|
removed from the export list of the dll. The minor number was
|
|
|
|
incremented when a change was made that we wanted to record, but
|
|
|
|
that didn't invalidate existing executables. Both numbers were
|
|
|
|
recorded in the executable and in the dll.
|
|
|
|
|
2004-01-03 19:15:03 +01:00
|
|
|
In October 1998 (starting with Cygwin 19.6), we started a new method
|
|
|
|
of Cygwin versioning: */
|
2000-02-17 20:38:33 +01:00
|
|
|
|
|
|
|
/* The DLL major and minor numbers correspond to the "version of
|
2003-12-31 07:30:48 +01:00
|
|
|
the Cygwin shared library". This version is used to track important
|
2000-02-17 20:38:33 +01:00
|
|
|
changes to the DLL and is mainly informative in nature. */
|
|
|
|
|
2006-07-25 Corinna Vinschen <corinna@vinschen.de>
* include/cygwin/version.h: Bump DLL version to 1.7.0.
2006-07-25 Corinna Vinschen <corinna@vinschen.de>
* select.h: Remove.
* fhandler_socket.cc: Don't include select.h.
* select.cc: Ditto.
2006-07-25 Corinna Vinschen <corinna@vinschen.de>
* cygtls.h: Drop socket related includes.
(struct _local_storage): Remove exitsock and exitsock_sin. Add
select_sockevt.
* cygtls.cc: Accomodate above change throughout.
* fhandler.h (class fhandler_socket): Make wsock_evt public.
* fhandler_socket.cc (fhandler_socket::fhandler_socket): Accomodate
reordering members.
(fhandler_socket::evaluate_events): Drop FD_CONNECT event as soon as
it gets read once. Never remove FD_WRITE event here.
(fhandler_socket::wait_for_events): Wait 50 ms instead of INFINITE for
socket events.
(fhandler_socket::accept): Fix conditional. Set wsock_events members
of accepted socket to useful start values.
(fhandler_socket::recv_internal): Always drop FD_READ/FD_OOB events from
wsock_events after the call to WSARecvFrom.
(fhandler_socket::send_internal): Drop FD_WRITE event from wsock_events
if the call to WSASendTo fails with WSAEWOULDBLOCK. Fix return value
condition.
* select.cc (struct socketinf): Change to accomodate using socket event
handling.
(peek_socket): Use event handling for peeking socket.
(thread_socket): Ditto.
(start_thread_socket): Ditto.
(socket_cleanup): Same here.
* tlsoffsets.h: Regenerate.
2006-07-20 Corinna Vinschen <corinna@vinschen.de>
* fhandler.h (class fhandler_socket): Rearrange slightly to keep
event handling methods and members together. Drop owner status flag.
Split wait method. Rename event handling methods for readability.
* fhandler_socket.cc (struct wsa_event): Add owner field.
(LOCK_EVENTS): New macro.
(UNLOCK_EVENTS): Ditto.
(fhandler_socket::init_events): rename from prepare.
(fhandler_socket::evaluate_events): First half of former wait method.
Do everything but wait. Allow specifiying whether or not events from
event_mask should be erased from wsock_events->events. Simplify
OOB handling. Allow sending SIGURG to any process (group).
(fhandler_socket::wait_for_events): Second half of former wait method.
Call evaluate_events and wait in a loop if socket is blocking.
(fhandler_socket::release_events): Rename from release.
(fhandler_socket::connect): Accomodate above name changes.
(fhandler_socket::accept): Ditto.
(fhandler_socket::recv_internal): Ditto.
(fhandler_socket::send_internal): Ditto.
(fhandler_socket::close): Ditto.
(fhandler_socket::fcntl): Always set owner to given input value on
F_SETOWN. Handle F_GETOWN.
* net.cc (fdsock): Accomodate above name changes.
2006-07-20 Corinna Vinschen <corinna@vinschen.de>
* fhandler_socket.cc (fhandler_socket::wait): Set Winsock errno to
WSAEWOULDBLOCK instead of WSAEINPROGRESS.
2006-07-18 Brian Ford <Brian.Ford@FlightSafety.com>
Corinna Vinschen <corinna@vinschen.de>
* winsup.h (mmap_region_status): New enum.
(mmap_is_attached_or_noreserve_page): Adjust prototype and rename
as below.
* mmap.cc (mmap_is_attached_or_noreserve_page): Rename
mmap_is_attached_or_noreserve. Add region length parameter.
Return enum above.
* exceptions.cc (_cygtls::handle_exceptions): Accomodate above.
* fhandler.cc (fhandler_base::raw_read): Call above for NOACCESS
errors and retry on success to allow reads into untouched
MAP_NORESERVE buffers.
2006-07-18 Corinna Vinschen <corinna@vinschen.de>
* cygwin.din (posix_openpt): Export.
* tty.cc (posix_openpt): New function.
* include/cygwin/stdlib.h (posix_openpt): Declare.
* include/cygwin/version.h: Bump API minor number.
2006-07-14 Corinna Vinschen <corinna@vinschen.de>
* security.cc (get_token_group_sidlist): Always add the interactive
group to the token. Add comment. Create logon_id group SID by
copying it from incoming group list.
(create_token): Add subauth_token parameter. Use information in
subauth_token if present. Tweak SourceIdentifier if subauth_token
is present for debugging purposes.
* security.h (create_token): Add subauth_token parameter in declaration.
* syscalls.cc (seteuid32): Call subauth first. Call create_token
regardless. Use subauth token in call to create_token if subauth
succeeded.
2006-07-13 Corinna Vinschen <corinna@vinschen.de>
* include/netinet/in.h: Update copyright.
2006-07-13 Corinna Vinschen <corinna@vinschen.de>
* fhandler_socket.cc (fhandler_socket::wait): Rework function so that
WaitForMultipleObjects is really only called when necessary.
2006-07-12 Corinna Vinschen <corinna@vinschen.de>
* include/netdb.h: Declare rcmd, rcmd_af, rexec, rresvport,
rresvport_af, iruserok, iruserok_sa, ruserok.
2006-07-12 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (DLL_OFILES): Drop iruserok.o. Add rcmd.o.
* autoload.cc (rcmd): Drop definition.
* cygwin.din: Export bindresvport, bindresvport_sa, iruserok_sa,
rcmd_af, rresvport_af.
* net.cc (cygwin_rcmd): Remove.
(last_used_bindresvport): Rename from last_used_rrecvport.
(cygwin_bindresvport_sa): New function implementing bindresvport_sa.
(cygwin_bindresvport): New function implementing bindresvport.
(cygwin_rresvport): Remove.
* include/cygwin/version.h: Bump API minor number.
* include/netinet/in.h: Declare bindresvport and bindresvport_sa.
* libc/iruserok.c: Remove file.
* libc/rcmd.cc: New file implementing rcmd, rcmd_af, rresvport,
rresvport_af, iruserok_sa, iruserok and ruserok.
2006-07-12 Corinna Vinschen <corinna@vinschen.de>
* fhandler_socket.cc (fhandler_socket::getsockname): Return valid
result for unbound sockets.
2006-07-11 Corinna Vinschen <corinna@vinschen.de>
* fhandler_socket.cc (fhandler_socket::fixup_after_fork): Handle
wsock_mtx and wsock_evt on fork, thus handling close_on_exec correctly.
(fhandler_socket::fixup_after_exec): Drop misguided attempt to handle
close_on_exec here.
(fhandler_socket::dup): Call fixup_after_fork with NULL parent.
Add comment.
(fhandler_socket::set_close_on_exec): Handle wsock_mtx and wsock_evt.
2006-07-10 Corinna Vinschen <corinna@vinschen.de>
* fhandler.h (class fhandler_socket): Add wsock_mtx, wsock_evt
and wsock_events members. Remove closed status flag, add listener
status flag. Accomodate new implementation of socket event handling
methods. Declare recv* and send* functions ssize_t as the POSIX
equivalents.
(fhandler_socket::recv_internal): Declare.
(fhandler_socket::send_internal): Ditto.
* fhandler_socket.cc (EVENT_MASK): Define mask of selected events.
(fhandler_socket::fhandler_socket): Initialize new members.
(fhandler_socket::af_local_setblocking): Don't actually set the
socket to blocking mode. Keep sane event selection.
(fhandler_socket::af_local_unsetblocking): Don't actually set the
socket to previous blocking setting, just remember it.
(struct wsa_event): New structure to keep event data per shared
socket.
(NUM_SOCKS): Define number of shared sockets concurrently handled by
all active Cygwin processes.
(wsa_events): New shared datastructure keeping all wsa_event records.
(socket_serial_number): New shared variable to identify shared sockets.
(wsa_slot_mtx): Global mutex to serialize wsa_events access.
(search_wsa_event_slot): New static function to select a new wsa_event
slot for a new socket.
(fhandler_socket::prepare): Rewrite. Prepare event selection
per new socket.
(fhandler_socket::wait): Rewrite. Wait for socket events in thread
safe and multiple process safe.
(fhandler_socket::release): Rewrite. Close per-socket descriptor
mutex handle and event handle.
(fhandler_socket::dup): Duplicate wsock_mtx and wsock_evt. Fix
copy-paste error in debug output.
(fhandler_socket::connect): Accomodate new event handling.
(fhandler_socket::listen): Set listener flag on successful listen.
(fhandler_socket::accept): Accomodate new event handling.
(fhandler_socket::recv_internal): New inline method centralizing
common recv code.
(fhandler_socket::recvfrom): Call recv_internal now.
(fhandler_socket::recvmsg): Ditto. Streamline copying from iovec
to WSABUF.
(fhandler_socket::send_internal): New inline method centralizing
common send code.
(fhandler_socket::sendto): Call send_internal now.
(fhandler_socket::sendmsg): Ditto. Streamline copying from iovec
to WSABUF.
(fhandler_socket::close): Call release now.
(fhandler_socket::ioctl): Never actually switch to blocking mode.
Just keep track of the setting.
* net.cc (fdsock): Call prepare now.
(cygwin_connect): Revert again to event driven technique.
(cygwin_accept): Ditto.
* poll.cc (poll): Don't call recvfrom on a listening socket.
Remove special case for failing recvfrom.
* include/sys/socket.h: Declare recv* and send* functions ssize_t as
requested by POSIX.
2006-07-07 Corinna Vinschen <corinna@vinschen.de>
* net.cc (cygwin_inet_ntop): Fix data type of forth parameter.
2006-07-06 Corinna Vinschen <corinna@vinschen.de>
* include/cygwin/in6.h (struct in6_addr): Fix typo.
2006-07-06 Corinna Vinschen <corinna@vinschen.de>
* cygwin.din: Export in6addr_any, in6addr_loopback, freeaddrinfo,
gai_strerror, getaddrinfo, getnameinfo.
* fhandler_socket.cc: Include cygwin/in6.h.
(get_inet_addr): Accomodate AF_INET6 usage.
(fhandler_socket::connect): Ditto.
(fhandler_socket::listen): Ditto.
(fhandler_socket::sendto): Ditto.
* net.cc: Include cygwin/in6.h.
(in6addr_any): Define.
(in6addr_loopback): Define.
(cygwin_socket): Accomodate AF_INET6 usage.
(socketpair): Bind socketpairs only to loopback for security.
(inet_pton4): New static function.
(inet_pton6): Ditto.
(cygwin_inet_pton): New AF_INET6 aware inet_pton implementation.
(inet_ntop4): New static function.
(inet_ntop6): Ditto.
(cygwin_inet_ntop): New AF_INET6 aware inet_ntop implementation.
(ga_aistruct): New static function.
(ga_clone): Ditto.
(ga_echeck): Ditto.
(ga_nsearch): Ditto.
(ga_port): Ditto.
(ga_serv): Ditto.
(ga_unix): Ditto.
(gn_ipv46): Ditto.
(ipv4_freeaddrinfo): Ditto.
(ipv4_getaddrinfo): Ditto.
(ipv4_getnameinfo): Ditto.
(gai_errmap_t): New structure holding error code - error string mapping.
(cygwin_gai_strerror): New function implementing gai_strerror.
(w32_to_gai_err): New static function.
(get_ipv6_funcs): Ditto.
(load_ipv6_funcs): Ditto.
(cygwin_freeaddrinfo): New function implementing freeaddrinfo.
(cygwin_getaddrinfo): New function implementing getaddrinfo.
(cygwin_getnameinfo): New function implementing getnameinfo.
* include/netdb.h: Include stdint.h and cygwin/socket.h. Define
data types and macros used by getaddrinfo and friends. Declare
freeaddrinfo, gai_strerror, getaddrinfo and getnameinfo.
* include/cygwin/in.h: Add IPv6 related IPPROTOs. Remove definition
of struct sockaddr_in6. Include cygwin/in6.h instead.
* include/cygwin/in6.h: New header file defining IPv6 releated
data types and macros.
* include/cygwin/socket.h: Enable AF_INET6 and PF_INET6. Add
IPv6 related socket options.
* include/cygwin/version.h: Bump API minor number.
2006-07-06 Corinna Vinschen <corinna@vinschen.de>
* autoload.cc (DsGetDcNameA): Define.
(NetGetAnyDCName): Define.
* security.cc: Include dsgetdc.h.
(DsGetDcNameA): Declare.
(DS_FORCE_REDISCOVERY): Define.
(get_logon_server): Add bool parameter to control rediscovery of DC.
Use DsGetDcNameA function if supported, NetGetDCName/NetGetAnyDCName
otherwise.
(get_server_groups): Rediscover DC if get_user_groups fails and
try again.
(get_reg_security): Use correct error code macro when testing
RegGetKeySecurity return value.
* security.h (get_logon_server): Remove default vaue from wserver
parameter. Add rediscovery parameter.
* uinfo.cc (cygheap_user::env_logsrv): Accomodate rediscovery parameter
in call to get_logon_server.
2006-07-25 21:23:23 +02:00
|
|
|
#define CYGWIN_VERSION_DLL_MAJOR 1007
|
2013-07-15 13:44:04 +02:00
|
|
|
#define CYGWIN_VERSION_DLL_MINOR 22
|
2000-02-17 20:38:33 +01:00
|
|
|
|
|
|
|
/* Major numbers before CYGWIN_VERSION_DLL_EPOCH are
|
|
|
|
incompatible. */
|
|
|
|
|
|
|
|
#define CYGWIN_VERSION_DLL_EPOCH 19
|
|
|
|
|
|
|
|
/* CYGWIN_VERSION_DLL_COMBINED gives us a single number
|
|
|
|
representing the combined DLL major and minor numbers. */
|
|
|
|
|
2000-05-31 20:04:00 +02:00
|
|
|
/* WATCH OUT FOR OCTAL! Don't use, say, "00020" for 0.20 */
|
|
|
|
|
2000-02-17 20:38:33 +01:00
|
|
|
#define CYGWIN_VERSION_DLL_MAKE_COMBINED(maj, min) (((maj) * 1000) + min)
|
|
|
|
#define CYGWIN_VERSION_DLL_COMBINED \
|
2001-01-03 15:44:13 +01:00
|
|
|
CYGWIN_VERSION_DLL_MAKE_COMBINED (CYGWIN_VERSION_DLL_MAJOR, CYGWIN_VERSION_DLL_MINOR)
|
2000-02-17 20:38:33 +01:00
|
|
|
|
|
|
|
/* Every version of cygwin <= this uses an old, incorrect method
|
|
|
|
to determine signal masks. */
|
|
|
|
|
2010-05-07 23:25:19 +02:00
|
|
|
#define CYGWIN_VERSION_PER_PROCESS_API_VERSION_COMBINED(u) \
|
|
|
|
CYGWIN_VERSION_DLL_MAKE_COMBINED ((u)->api_major, (u)->api_minor)
|
|
|
|
|
2005-12-05 22:02:53 +01:00
|
|
|
#define CYGWIN_VERSION_USER_API_VERSION_COMBINED \
|
2010-05-07 23:25:19 +02:00
|
|
|
CYGWIN_VERSION_PER_PROCESS_API_VERSION_COMBINED (user_data)
|
2005-12-05 22:02:53 +01:00
|
|
|
|
2000-02-17 20:38:33 +01:00
|
|
|
/* API versions <= this had a termios structure whose members were
|
|
|
|
too small to accomodate modern settings. */
|
2000-05-31 20:04:00 +02:00
|
|
|
#define CYGWIN_VERSION_DLL_OLD_TERMIOS 5
|
2000-02-17 20:38:33 +01:00
|
|
|
#define CYGWIN_VERSION_DLL_IS_OLD_TERMIOS \
|
2005-12-05 22:02:53 +01:00
|
|
|
(CYGWIN_VERSION_USER_API_VERSION_COMBINED <= CYGWIN_VERSION_DLL_OLD_TERMIOS)
|
2000-02-17 20:38:33 +01:00
|
|
|
|
2000-11-08 21:36:37 +01:00
|
|
|
#define CYGWIN_VERSION_DLL_MALLOC_ENV 28
|
2000-05-24 01:52:50 +02:00
|
|
|
/* Old APIs had getc/putc macros that conflict with new CR/LF
|
|
|
|
handling in the stdio buffers */
|
|
|
|
#define CYGWIN_VERSION_OLD_STDIO_CRLF_HANDLING \
|
2005-12-05 22:02:53 +01:00
|
|
|
(CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 20)
|
2000-05-24 01:52:50 +02:00
|
|
|
|
2001-03-05 07:28:25 +01:00
|
|
|
#define CYGWIN_VERSION_CHECK_FOR_S_IEXEC \
|
2005-12-05 22:02:53 +01:00
|
|
|
(CYGWIN_VERSION_USER_API_VERSION_COMBINED >= 36)
|
2001-08-07 02:01:42 +02:00
|
|
|
|
|
|
|
#define CYGWIN_VERSION_CHECK_FOR_OLD_O_NONBLOCK \
|
2005-12-05 22:02:53 +01:00
|
|
|
(CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 28)
|
2003-03-19 21:13:57 +01:00
|
|
|
|
|
|
|
#define CYGWIN_VERSION_CHECK_FOR_USING_BIG_TYPES \
|
2005-12-05 22:02:53 +01:00
|
|
|
(CYGWIN_VERSION_USER_API_VERSION_COMBINED >= 79)
|
2005-10-17 23:22:18 +02:00
|
|
|
|
|
|
|
#define CYGWIN_VERSION_CHECK_FOR_USING_ANCIENT_MSGHDR \
|
2005-12-05 22:02:53 +01:00
|
|
|
(CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 138)
|
2005-10-17 23:22:18 +02:00
|
|
|
|
|
|
|
#define CYGWIN_VERSION_CHECK_FOR_USING_WINSOCK1_VALUES \
|
2005-12-05 22:02:53 +01:00
|
|
|
(CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 138)
|
2005-10-17 23:22:18 +02:00
|
|
|
|
2007-01-21 23:54:05 +01:00
|
|
|
#define CYGWIN_VERSION_CHECK_FOR_OLD_IFREQ \
|
|
|
|
(CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 161)
|
|
|
|
|
2009-03-31 11:42:58 +02:00
|
|
|
#define CYGWIN_VERSION_CHECK_FOR_OLD_CTYPE \
|
|
|
|
(CYGWIN_VERSION_USER_API_VERSION_COMBINED <= 209)
|
|
|
|
|
2010-05-07 23:25:19 +02:00
|
|
|
#define CYGWIN_VERSION_USE_PSEUDO_RELOC_IN_DLL(u) \
|
|
|
|
(CYGWIN_VERSION_PER_PROCESS_API_VERSION_COMBINED (u) >= 227)
|
|
|
|
|
2009-05-09 22:16:06 +02:00
|
|
|
#define CYGWIN_VERSION_CYGWIN_CONV 181
|
|
|
|
|
2000-02-17 20:38:33 +01:00
|
|
|
/* API_MAJOR 0.0: Initial version. API_MINOR changes:
|
|
|
|
1: Export cygwin32_ calls as cygwin_ as well.
|
|
|
|
2: Export j1, jn, y1, yn.
|
2001-11-05 07:09:15 +01:00
|
|
|
3: Export dll_noncygwin_dllcrt0.
|
|
|
|
4: New socket ioctls, revamped ifconf support.
|
|
|
|
5: Thread support/exports.
|
|
|
|
6: Change in termios handling.
|
|
|
|
7: Export scandir and alphasort.
|
|
|
|
8: Export _ctype_, _sys_errlist, _sys_nerr.
|
2000-02-17 20:38:33 +01:00
|
|
|
9: Mount-related changes, new cygwin_umount export.
|
|
|
|
Raw device support (tape, floppies).
|
|
|
|
10: Fast math routine support added.
|
|
|
|
11: Export seekdir, telldir.
|
|
|
|
12: Export pthread_join, pthread_detach.
|
|
|
|
13: Export math funcs gamma and friends, also _j0, _j1, etc.
|
|
|
|
14: Export snprintf and vnsprintf.
|
|
|
|
15: Export glob
|
|
|
|
16: Export cygwin_stackdump
|
2000-02-26 02:14:49 +01:00
|
|
|
17: Export fast math stuff
|
2000-03-07 06:33:09 +01:00
|
|
|
18: Stop exporting _strace_wm
|
2000-04-13 20:52:12 +02:00
|
|
|
19: Export fchown, lchown, lacl
|
2000-05-15 05:42:27 +02:00
|
|
|
20: regsub, inet_network
|
2000-05-24 01:52:50 +02:00
|
|
|
21: incompatible change to stdio cr/lf and buffering
|
2000-06-16 21:36:07 +02:00
|
|
|
22: Export cygwin_logon_user, cygwin_set_impersonation_token.
|
2001-11-05 07:09:15 +01:00
|
|
|
geteuid, getegid return effective uid/gid.
|
|
|
|
getuid, getgid return real uid/gid.
|
|
|
|
seteuid, setegid set only effective uid/gid.
|
|
|
|
setuid, setgid set effective and real uid/gid.
|
2000-07-01 05:51:55 +02:00
|
|
|
23: Export new dll_crt0 interface and cygwin_user_data for use
|
|
|
|
with crt0 startup code.
|
2000-07-04 19:25:11 +02:00
|
|
|
24: Export poll and _poll.
|
2000-07-09 07:29:51 +02:00
|
|
|
25: Export getmode and _getmode.
|
2000-07-29 18:24:59 +02:00
|
|
|
26: CW_GET_CYGDRIVE_PREFIXES addition to external.cc
|
|
|
|
27: CW_GETPINFO_FULL addition to external.cc
|
2000-10-14 03:03:01 +02:00
|
|
|
28: Accidentally bumped by cgf
|
2000-10-14 10:55:44 +02:00
|
|
|
29: Export hstrerror
|
2000-11-08 21:36:37 +01:00
|
|
|
30: CW_GET_CYGDRIVE_INFO addition to external.cc
|
2000-11-25 11:29:49 +01:00
|
|
|
31: Export inet_aton
|
2000-12-27 01:13:57 +01:00
|
|
|
32: Export getrlimit/setrlimit
|
2001-01-22 21:29:24 +01:00
|
|
|
33: Export setlogmask
|
2001-01-28 07:26:50 +01:00
|
|
|
34: Separated out mount table
|
2001-02-20 03:53:55 +01:00
|
|
|
35: Export drand48, erand48, jrand48, lcong48, lrand48,
|
2001-11-05 07:09:15 +01:00
|
|
|
mrand48, nrand48, seed48, and srand48.
|
2001-03-05 07:28:25 +01:00
|
|
|
36: Added _cygwin_S_IEXEC, et al
|
2001-03-19 12:02:41 +01:00
|
|
|
37: [f]pathconv support _PC_POSIX_PERMISSIONS and _PC_POSIX_SECURITY
|
2001-04-23 02:48:23 +02:00
|
|
|
38: vscanf, vscanf_r, and random pthread functions
|
2001-04-25 18:18:43 +02:00
|
|
|
39: asctime_r, ctime_r, gmtime_r, localtime_r
|
2001-06-10 12:00:21 +02:00
|
|
|
40: fchdir
|
2001-07-26 22:42:52 +02:00
|
|
|
41: __signgam
|
2001-07-27 18:33:20 +02:00
|
|
|
42: sys_errlist, sys_nerr
|
2001-08-14 17:05:43 +02:00
|
|
|
43: sigsetjmp, siglongjmp fixed
|
2001-09-03 18:36:54 +02:00
|
|
|
44: Export dirfd
|
2001-09-08 03:35:55 +02:00
|
|
|
45: perprocess change, gamma_r, gammaf_r, lgamma_r, lgammaf_r
|
2001-09-11 17:25:08 +02:00
|
|
|
46: Remove cygwin_getshared
|
2001-10-16 18:28:39 +02:00
|
|
|
47: Report EOTWarningZoneSize in struct mtget.
|
2001-12-20 19:54:30 +01:00
|
|
|
48: Export "posix" regex functions
|
2001-12-28 16:53:27 +01:00
|
|
|
49: Export setutent, endutent, utmpname, getutent, getutid, getutline.
|
2002-01-17 11:39:37 +01:00
|
|
|
50: Export fnmatch.
|
2002-01-19 17:17:59 +01:00
|
|
|
51: Export recvmsg, sendmsg.
|
2002-04-10 01:47:26 +02:00
|
|
|
52: Export strptime
|
2002-05-13 21:53:46 +02:00
|
|
|
53: Export strlcat, strlcpy.
|
2002-07-02 11:40:07 +02:00
|
|
|
54: Export __fpclassifyd, __fpclassifyf, __signbitd, __signbitf.
|
2002-07-24 13:06:46 +02:00
|
|
|
55: Export fcloseall, fcloseall_r.
|
2002-07-27 03:52:05 +02:00
|
|
|
56: Make ntsec on by default.
|
2002-07-29 14:51:52 +02:00
|
|
|
57: Export setgroups.
|
2002-08-16 21:41:39 +02:00
|
|
|
58: Export memalign, valloc, malloc_trim, malloc_usable_size, mallopt,
|
2003-02-23 00:03:26 +01:00
|
|
|
malloc_stats
|
2002-08-18 07:49:26 +02:00
|
|
|
59: getsid
|
2002-08-28 12:18:20 +02:00
|
|
|
60: MSG_NOSIGNAL
|
2002-08-28 12:50:27 +02:00
|
|
|
61: Export getc_unlocked, getchar_unlocked, putc_unlocked,
|
|
|
|
putchar_unlocked
|
2002-11-22 17:27:32 +01:00
|
|
|
62: Erroneously bumped
|
|
|
|
63: Export pututline
|
2002-11-07 10:08:40 +01:00
|
|
|
64: Export fseeko, ftello
|
2002-11-22 17:27:32 +01:00
|
|
|
65: Export siginterrupt
|
2002-11-27 03:12:50 +01:00
|
|
|
66: Export nl_langinfo
|
2002-11-27 17:11:40 +01:00
|
|
|
67: Export pthread_getsequence_np
|
2002-12-04 21:44:17 +01:00
|
|
|
68: Export netdb stuff
|
2002-12-06 20:48:03 +01:00
|
|
|
69: Export strtof
|
2003-01-10 13:19:17 +01:00
|
|
|
70: Export asprintf, _asprintf_r, vasprintf, _vasprintf_r
|
2003-01-17 14:08:06 +01:00
|
|
|
71: Export strerror_r
|
2003-01-22 11:43:39 +01:00
|
|
|
72: Export nanosleep
|
2003-01-24 16:23:15 +01:00
|
|
|
73: Export setreuid32, setreuid, setregid32, setregid
|
2003-02-15 22:45:09 +01:00
|
|
|
74: Export _strtold a64l hcreate hcreate_r hdestroy hdestroy_r hsearch
|
|
|
|
hsearch_r isblank iswalnum iswalpha iswblank iswcntrl iswctype
|
|
|
|
iswdigit iswgraph iswlower iswprint iswpunct iswspace iswupper
|
|
|
|
iswxdigit l64a mbrlen mbrtowc mbsinit mbsrtowcs mempcpy
|
|
|
|
on_exit setbuffer setlinebuf strndup strnlen tdelete tdestroy
|
|
|
|
tfind towctrans towlower towupper tsearch twalk wcrtomb wcscat
|
|
|
|
wcschr wcscpy wcscspn wcslcat wcslcpy wcsncat wcsncmp wcsncpy
|
|
|
|
wcspbrk wcsrchr wcsrtombs wcsspn wcsstr wctob wctob wctrans
|
|
|
|
wctype wmemchr wmemcmp wmemcpy wmemmove wmemset
|
2003-02-16 20:31:07 +01:00
|
|
|
75: Export exp2 exp2f fdim fdimf fma fmaf fmax fmaxf fmin fminf lrint
|
|
|
|
lrintf lround lroundf nearbyint nearbyintf remquo remquof
|
|
|
|
round roundf scalbln scalblnf sincos sincosf tgamma tgammaf
|
|
|
|
truncf
|
2003-02-22 20:35:03 +01:00
|
|
|
76: mallinfo
|
2003-03-01 03:02:42 +01:00
|
|
|
77: thread-safe exit/at_exit
|
2003-03-17 20:16:15 +01:00
|
|
|
78: Use stat and fstat rather than _stat, and _fstat.
|
2003-09-14 03:58:03 +02:00
|
|
|
Export btowc and trunc.
|
2003-03-17 20:16:15 +01:00
|
|
|
79: Export acl32 aclcheck32 aclfrommode32 aclfrompbits32 aclfromtext32
|
2003-03-09 22:51:00 +01:00
|
|
|
aclsort32 acltomode32 acltopbits32 acltotext32 facl32
|
|
|
|
fgetpos64 fopen64 freopen64 fseeko64 fsetpos64 ftello64
|
|
|
|
_open64 _lseek64 _fstat64 _stat64 mknod32
|
* cygwin.din: Add pthread_rwlock_destroy, pthread_rwlock_init,
pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
pthread_rwlock_unlock, pthread_rwlockattr_init,
pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
and pthread_rwlockattr_destroy.
* include/cygwin/version.h: Bump API minor number.
* include/pthread.h (PTHREAD_RWLOCK_INITIALIZER): Define a
reasonable value.
Add prototypes for pthread_rwlock_destroy, pthread_rwlock_init,
pthread_rwlock_rdlock, pthread_rwlock_tryrdlock,
pthread_rwlock_wrlock, pthread_rwlock_trywrlock,
pthread_rwlock_unlock, pthread_rwlockattr_init,
pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared,
and pthread_rwlockattr_destroy.
* thread.h (PTHREAD_ONCE_MAGIC): Remove superflous semicolon.
(PTHREAD_RWLOCK_MAGIC): New define.
(PTHREAD_RWLOCKATTR_MAGIC): Ditto.
(pthread_rwlockattr): New class.
(pthread_rwlock): Ditto.
(MTinterface::rwlocks): New member.
(MTinterface::MTinterface): Initialize rwlocks.
Add prototypes for __pthread_rwlock_destroy,
__pthread_rwlock_wrlock, __pthread_rwlock_trywrlock,
__pthread_rwlock_unlock, __pthread_rwlockattr_init,
__pthread_rwlockattr_getpshared, __pthread_rwlockattr_setpshared,
and __pthread_rwlockattr_destroy.
* thread.cc (MTinterface::Init): Initialize rwlock internal mutex.
(MTinterface::fixup_after_fork): Fixup rwlocks after fork.
(pthread_rwlockattr::isGoodObject): Implement.
(pthread_rwlockattr::pthread_rwlockattr): Ditto.
(pthread_rwlockattr::~pthread_rwlockattr): Ditto.
(pthread_rwlock::initMutex): Ditto.
(pthread_rwlock::pthread_rwlock): Ditto.
(pthread_rwlock::~pthread_rwlock): Ditto.
(pthread_rwlock::RdLock): Ditto.
(pthread_rwlock::TryRdLock): Ditto.
(pthread_rwlock::WrLock): Ditto.
(pthread_rwlock::TryWrLock): Ditto.
(pthread_rwlock::UnLock): Ditto.
(pthread_rwlock::addReader): Ditto.
(pthread_rwlock::removeReader): Ditto.
(pthread_rwlock::lookupReader): Ditto.
(pthread_rwlock::RdLockCleanup): Ditto.
(pthread_rwlock::WrLockCleanup): Ditto.
(pthread_rwlock::fixup_after_fork): Ditto.
(pthread_rwlock::isGoodObject): Ditto.
(pthread_rwlock::isGoodInitializer): Ditto.
(pthread_rwlock::isGoodInitializerOrObject): Ditto.
(pthread_rwlock::isGoodInitializerOrBadObject): Ditto.
(__pthread_rwlock_destroy): Ditto.
(pthread_rwlock::init): Ditto.
(__pthread_rwlock_rdlock): Ditto.
(__pthread_rwlock_tryrdlock): Ditto.
(__pthread_rwlock_wrlock): Ditto.
(__pthread_rwlock_trywrlock): Ditto.
2003-03-18 21:01:07 +01:00
|
|
|
80: Export pthread_rwlock stuff
|
2003-04-03 10:04:41 +02:00
|
|
|
81: CW_CHECK_NTSEC addition to external.cc
|
2003-04-10 10:22:42 +02:00
|
|
|
82: Export wcscoll wcswidth wcwidth
|
2003-04-16 05:03:45 +02:00
|
|
|
83: Export gethostid
|
2003-04-21 06:31:06 +02:00
|
|
|
84: Pty open allocates invisible console. 64 bit interface
|
2003-05-10 00:11:25 +02:00
|
|
|
85: Export new 32/64 functions from API 0.79 only with leading
|
2003-09-14 03:58:03 +02:00
|
|
|
underscore. No problems with backward compatibility since no
|
|
|
|
official release has been made so far. This change removes
|
|
|
|
exported symbols like fopen64, which might confuse configure.
|
2003-05-20 14:38:04 +02:00
|
|
|
86: Export ftok
|
2003-06-06 10:11:19 +02:00
|
|
|
87: Export vsyslog
|
2003-06-16 05:24:13 +02:00
|
|
|
88: Export _getreent
|
2003-07-24 21:33:14 +02:00
|
|
|
89: Export __mempcpy
|
2003-07-25 18:13:12 +02:00
|
|
|
90: Export _fopen64
|
2003-09-08 10:53:01 +02:00
|
|
|
91: Export argz_add argz_add_sep argz_append argz_count argz_create
|
2003-09-08 22:08:53 +02:00
|
|
|
argz_create_sep argz_delete argz_extract argz_insert
|
|
|
|
argz_next argz_replace argz_stringify envz_add envz_entry
|
|
|
|
envz_get envz_merge envz_remove envz_strip
|
2003-09-10 17:51:59 +02:00
|
|
|
92: Export getusershell, setusershell, endusershell
|
|
|
|
93: Export daemon, forkpty, openpty, iruserok, ruserok, login_tty,
|
|
|
|
openpty, forkpty, revoke, logwtmp, updwtmp
|
* Makefile.in (DLL_OFILES): Add getopt.o and iruserok.o.
* cygwin.din: Export __check_rhosts_file, __rcmd_errstr, optarg,
opterr, optind, optopt, optreset, getopt, getopt_long, iruserok
and ruserok.
* getopt.c: Moved from lib to here. Define opt* variables as
dllexport.
* iruserok.c: Moved from lib to here. Rearrange function order.
Prefer using 64/32 bit functions.
* syscalls.cc (shell_fp): Define as struct __sFILE64.
(getusershell): Use fopen64 instead of fopen.
* winsup.h: Add declarations for seteuid32, fopen64,
cygwin_gethostbyname and cygwin_inet_addr.
* include/getopt.h: Declare opt* variables dllimport.
* include/cygwin/version.h: Bump API minor number.
2003-09-10 21:13:05 +02:00
|
|
|
94: Export getopt, getopt_long, optarg, opterr, optind, optopt,
|
2003-09-14 03:58:03 +02:00
|
|
|
optreset, __check_rhosts_file, __rcmd_errstr.
|
2003-10-22 12:07:59 +02:00
|
|
|
95: Export shmat, shmctl, shmdt, shmget.
|
2003-10-22 22:32:20 +02:00
|
|
|
96: CW_GET_ERRNO_FROM_WINERROR addition to external.cc
|
2003-10-27 12:48:29 +01:00
|
|
|
97: Export sem_open, sem_close, sem_timedwait, sem_getvalue.
|
2003-10-27 14:06:56 +01:00
|
|
|
98: Export _tmpfile64.
|
2003-11-04 16:48:19 +01:00
|
|
|
99: CW_GET_POSIX_SECURITY_ATTRIBUTE addition to external.cc.
|
2003-11-06 15:33:16 +01:00
|
|
|
100: CW_GET_SHMLBA addition to external.cc.
|
2003-11-06 22:31:24 +01:00
|
|
|
101: Export err, errx, verr, verrx, warn, warnx, vwarn, vwarnx.
|
2003-11-08 10:48:48 +01:00
|
|
|
102: CW_GET_UID_FROM_SID and CW_GET_GID_FROM_SID addition to external.cc.
|
2003-11-17 18:25:59 +01:00
|
|
|
103: Export getprogname, setprogname.
|
2003-11-19 19:50:23 +01:00
|
|
|
104: Export msgctl, msgget, msgrcv, msgsnd, semctl, semget, semop.
|
2003-11-28 21:55:59 +01:00
|
|
|
105: Export sigwait.
|
2003-11-30 00:00:51 +01:00
|
|
|
106: Export flock.
|
2003-12-01 18:26:28 +01:00
|
|
|
107: Export fcntl64.
|
2003-12-23 17:26:31 +01:00
|
|
|
108: Remove unused (hopefully) reent_data export.
|
2004-01-22 20:16:17 +01:00
|
|
|
109: Oh well. Someone uses reent_data.
|
|
|
|
110: Export clock_gettime, sigwaitinfo, timer_create, timer_delete,
|
2005-05-02 05:50:11 +02:00
|
|
|
timer_settime
|
2004-02-26 06:10:49 +01:00
|
|
|
111: Export sigqueue, sighold.
|
2004-03-15 12:37:37 +01:00
|
|
|
112: Redefine some mtget fields.
|
2004-03-26 22:43:49 +01:00
|
|
|
113: Again redefine some mtget fields. Use mt_fileno and mt_blkno as
|
2005-05-02 05:50:11 +02:00
|
|
|
on Linux.
|
2004-04-14 11:12:04 +02:00
|
|
|
114: Export rand_r, ttyname_r.
|
2004-05-17 18:06:02 +02:00
|
|
|
115: Export flockfile, ftrylockfile, funlockfile, getgrgid_r, getgrnam_r,
|
2005-05-02 05:50:11 +02:00
|
|
|
getlogin_r.
|
2004-05-25 05:21:34 +02:00
|
|
|
116: Export atoll.
|
2004-12-15 18:29:01 +01:00
|
|
|
117: Export utmpx functions, Return utmp * from pututent.
|
2005-01-25 23:45:11 +01:00
|
|
|
118: Export getpriority, setpriority.
|
2005-02-22 16:35:10 +01:00
|
|
|
119: Export fdatasync.
|
2005-02-22 20:45:41 +01:00
|
|
|
120: Export basename, dirname.
|
2005-02-23 18:39:46 +01:00
|
|
|
122: Export statvfs, fstatvfs.
|
2005-03-03 23:08:12 +01:00
|
|
|
123: Export utmpxname.
|
2005-03-08 10:18:47 +01:00
|
|
|
124: Add MAP_AUTOGROW flag to mmap.
|
2005-03-23 18:16:16 +01:00
|
|
|
125: LD_PRELOAD/CW_HOOK available.
|
2005-04-16 07:20:01 +02:00
|
|
|
126: Export lsearch, lfind, timer_gettime.
|
|
|
|
127: Export sigrelese.
|
2005-04-19 10:32:59 +02:00
|
|
|
128: Export pselect.
|
2005-05-25 05:46:10 +02:00
|
|
|
129: Export mkdtemp.
|
2005-06-10 14:11:35 +02:00
|
|
|
130: Export strtoimax, strtoumax, llabs, imaxabs, lldiv, imaxdiv.
|
2005-06-17 22:01:59 +02:00
|
|
|
131: Export inet_ntop, inet_pton.
|
2005-06-18 21:04:25 +02:00
|
|
|
132: Add GLOB_LIMIT flag to glob.
|
2005-07-08 10:24:13 +02:00
|
|
|
133: Export __getline, __getdelim.
|
2005-07-09 10:22:39 +02:00
|
|
|
134: Export getline, getdelim.
|
2005-07-29 19:04:46 +02:00
|
|
|
135: Export pread, pwrite
|
2005-08-02 11:17:15 +02:00
|
|
|
136: Add TIOCMBIS/TIOCMBIC ioctl codes.
|
* Makefile.in (DLL_OFILES): Add fts.o, ftw.o, nftw.o.
* cygwin.din: Export fts_children, fts_close, fts_get_clientptr,
fts_get_stream, fts_open, fts_read, fts_set, fts_set_clientptr,
ftw, nftw.
* fts.c: New file, imported from FreeBSD.
* ftw.c: Ditto.
* nftw.c: Ditto.
* include/fts.h: Ditto.
* include/ftw.h: Ditto.
* include/cygwin/version.h: Bump API minor number.
2005-08-08 11:45:42 +02:00
|
|
|
137: fts_children, fts_close, fts_get_clientptr, fts_get_stream,
|
|
|
|
fts_open, fts_read, fts_set, fts_set_clientptr, ftw, nftw.
|
2005-08-20 08:19:55 +02:00
|
|
|
138: Export readdir_r.
|
2005-10-17 23:22:18 +02:00
|
|
|
139: Start using POSIX definition of struct msghdr and WinSock2
|
|
|
|
IPPROTO_IP values.
|
2005-10-18 20:51:33 +02:00
|
|
|
140: Export mlock, munlock.
|
2005-10-22 12:28:02 +02:00
|
|
|
141: Export futimes, lutimes.
|
2005-11-08 23:08:39 +01:00
|
|
|
142: Export memmem
|
2005-11-11 17:42:15 +01:00
|
|
|
143: Export clock_getres, clock_setres
|
2005-11-18 18:48:23 +01:00
|
|
|
144: Export timelocal, timegm.
|
2005-11-29 19:25:36 +01:00
|
|
|
145: Add MAP_NORESERVE flag to mmap.
|
2006-01-31 09:56:22 +01:00
|
|
|
146: Change SI_USER definition. FIXME: Need to develop compatibility
|
|
|
|
macro for this?
|
|
|
|
147: Eliminate problematic d_ino from dirent structure. unsetenv now
|
|
|
|
returns int, as per linux.
|
2005-12-14 16:54:33 +01:00
|
|
|
148: Add open(2) flags O_SYNC, O_RSYNC, O_DSYNC and O_DIRECT.
|
2005-12-22 17:45:15 +01:00
|
|
|
149: Add open(2) flag O_NOFOLLOW.
|
2006-01-09 13:37:08 +01:00
|
|
|
150: Export getsubopt.
|
2006-01-21 03:24:17 +01:00
|
|
|
151: Export __opendir_with_d_ino
|
2006-01-31 09:56:22 +01:00
|
|
|
152: Revert to having d_ino in dirent unconditionally.
|
2006-02-03 00:16:26 +01:00
|
|
|
153: Export updwtmpx, Implement CW_SETUP_WINENV.
|
2006-02-16 19:21:49 +01:00
|
|
|
154: Export sigset, sigignore.
|
2006-02-28 16:32:48 +01:00
|
|
|
155: Export __isinff, __isinfd, __isnanf, __isnand.
|
2006-06-15 19:22:56 +02:00
|
|
|
156: Export __srbuf_r, __swget_r.
|
2006-07-25 Corinna Vinschen <corinna@vinschen.de>
* include/cygwin/version.h: Bump DLL version to 1.7.0.
2006-07-25 Corinna Vinschen <corinna@vinschen.de>
* select.h: Remove.
* fhandler_socket.cc: Don't include select.h.
* select.cc: Ditto.
2006-07-25 Corinna Vinschen <corinna@vinschen.de>
* cygtls.h: Drop socket related includes.
(struct _local_storage): Remove exitsock and exitsock_sin. Add
select_sockevt.
* cygtls.cc: Accomodate above change throughout.
* fhandler.h (class fhandler_socket): Make wsock_evt public.
* fhandler_socket.cc (fhandler_socket::fhandler_socket): Accomodate
reordering members.
(fhandler_socket::evaluate_events): Drop FD_CONNECT event as soon as
it gets read once. Never remove FD_WRITE event here.
(fhandler_socket::wait_for_events): Wait 50 ms instead of INFINITE for
socket events.
(fhandler_socket::accept): Fix conditional. Set wsock_events members
of accepted socket to useful start values.
(fhandler_socket::recv_internal): Always drop FD_READ/FD_OOB events from
wsock_events after the call to WSARecvFrom.
(fhandler_socket::send_internal): Drop FD_WRITE event from wsock_events
if the call to WSASendTo fails with WSAEWOULDBLOCK. Fix return value
condition.
* select.cc (struct socketinf): Change to accomodate using socket event
handling.
(peek_socket): Use event handling for peeking socket.
(thread_socket): Ditto.
(start_thread_socket): Ditto.
(socket_cleanup): Same here.
* tlsoffsets.h: Regenerate.
2006-07-20 Corinna Vinschen <corinna@vinschen.de>
* fhandler.h (class fhandler_socket): Rearrange slightly to keep
event handling methods and members together. Drop owner status flag.
Split wait method. Rename event handling methods for readability.
* fhandler_socket.cc (struct wsa_event): Add owner field.
(LOCK_EVENTS): New macro.
(UNLOCK_EVENTS): Ditto.
(fhandler_socket::init_events): rename from prepare.
(fhandler_socket::evaluate_events): First half of former wait method.
Do everything but wait. Allow specifiying whether or not events from
event_mask should be erased from wsock_events->events. Simplify
OOB handling. Allow sending SIGURG to any process (group).
(fhandler_socket::wait_for_events): Second half of former wait method.
Call evaluate_events and wait in a loop if socket is blocking.
(fhandler_socket::release_events): Rename from release.
(fhandler_socket::connect): Accomodate above name changes.
(fhandler_socket::accept): Ditto.
(fhandler_socket::recv_internal): Ditto.
(fhandler_socket::send_internal): Ditto.
(fhandler_socket::close): Ditto.
(fhandler_socket::fcntl): Always set owner to given input value on
F_SETOWN. Handle F_GETOWN.
* net.cc (fdsock): Accomodate above name changes.
2006-07-20 Corinna Vinschen <corinna@vinschen.de>
* fhandler_socket.cc (fhandler_socket::wait): Set Winsock errno to
WSAEWOULDBLOCK instead of WSAEINPROGRESS.
2006-07-18 Brian Ford <Brian.Ford@FlightSafety.com>
Corinna Vinschen <corinna@vinschen.de>
* winsup.h (mmap_region_status): New enum.
(mmap_is_attached_or_noreserve_page): Adjust prototype and rename
as below.
* mmap.cc (mmap_is_attached_or_noreserve_page): Rename
mmap_is_attached_or_noreserve. Add region length parameter.
Return enum above.
* exceptions.cc (_cygtls::handle_exceptions): Accomodate above.
* fhandler.cc (fhandler_base::raw_read): Call above for NOACCESS
errors and retry on success to allow reads into untouched
MAP_NORESERVE buffers.
2006-07-18 Corinna Vinschen <corinna@vinschen.de>
* cygwin.din (posix_openpt): Export.
* tty.cc (posix_openpt): New function.
* include/cygwin/stdlib.h (posix_openpt): Declare.
* include/cygwin/version.h: Bump API minor number.
2006-07-14 Corinna Vinschen <corinna@vinschen.de>
* security.cc (get_token_group_sidlist): Always add the interactive
group to the token. Add comment. Create logon_id group SID by
copying it from incoming group list.
(create_token): Add subauth_token parameter. Use information in
subauth_token if present. Tweak SourceIdentifier if subauth_token
is present for debugging purposes.
* security.h (create_token): Add subauth_token parameter in declaration.
* syscalls.cc (seteuid32): Call subauth first. Call create_token
regardless. Use subauth token in call to create_token if subauth
succeeded.
2006-07-13 Corinna Vinschen <corinna@vinschen.de>
* include/netinet/in.h: Update copyright.
2006-07-13 Corinna Vinschen <corinna@vinschen.de>
* fhandler_socket.cc (fhandler_socket::wait): Rework function so that
WaitForMultipleObjects is really only called when necessary.
2006-07-12 Corinna Vinschen <corinna@vinschen.de>
* include/netdb.h: Declare rcmd, rcmd_af, rexec, rresvport,
rresvport_af, iruserok, iruserok_sa, ruserok.
2006-07-12 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (DLL_OFILES): Drop iruserok.o. Add rcmd.o.
* autoload.cc (rcmd): Drop definition.
* cygwin.din: Export bindresvport, bindresvport_sa, iruserok_sa,
rcmd_af, rresvport_af.
* net.cc (cygwin_rcmd): Remove.
(last_used_bindresvport): Rename from last_used_rrecvport.
(cygwin_bindresvport_sa): New function implementing bindresvport_sa.
(cygwin_bindresvport): New function implementing bindresvport.
(cygwin_rresvport): Remove.
* include/cygwin/version.h: Bump API minor number.
* include/netinet/in.h: Declare bindresvport and bindresvport_sa.
* libc/iruserok.c: Remove file.
* libc/rcmd.cc: New file implementing rcmd, rcmd_af, rresvport,
rresvport_af, iruserok_sa, iruserok and ruserok.
2006-07-12 Corinna Vinschen <corinna@vinschen.de>
* fhandler_socket.cc (fhandler_socket::getsockname): Return valid
result for unbound sockets.
2006-07-11 Corinna Vinschen <corinna@vinschen.de>
* fhandler_socket.cc (fhandler_socket::fixup_after_fork): Handle
wsock_mtx and wsock_evt on fork, thus handling close_on_exec correctly.
(fhandler_socket::fixup_after_exec): Drop misguided attempt to handle
close_on_exec here.
(fhandler_socket::dup): Call fixup_after_fork with NULL parent.
Add comment.
(fhandler_socket::set_close_on_exec): Handle wsock_mtx and wsock_evt.
2006-07-10 Corinna Vinschen <corinna@vinschen.de>
* fhandler.h (class fhandler_socket): Add wsock_mtx, wsock_evt
and wsock_events members. Remove closed status flag, add listener
status flag. Accomodate new implementation of socket event handling
methods. Declare recv* and send* functions ssize_t as the POSIX
equivalents.
(fhandler_socket::recv_internal): Declare.
(fhandler_socket::send_internal): Ditto.
* fhandler_socket.cc (EVENT_MASK): Define mask of selected events.
(fhandler_socket::fhandler_socket): Initialize new members.
(fhandler_socket::af_local_setblocking): Don't actually set the
socket to blocking mode. Keep sane event selection.
(fhandler_socket::af_local_unsetblocking): Don't actually set the
socket to previous blocking setting, just remember it.
(struct wsa_event): New structure to keep event data per shared
socket.
(NUM_SOCKS): Define number of shared sockets concurrently handled by
all active Cygwin processes.
(wsa_events): New shared datastructure keeping all wsa_event records.
(socket_serial_number): New shared variable to identify shared sockets.
(wsa_slot_mtx): Global mutex to serialize wsa_events access.
(search_wsa_event_slot): New static function to select a new wsa_event
slot for a new socket.
(fhandler_socket::prepare): Rewrite. Prepare event selection
per new socket.
(fhandler_socket::wait): Rewrite. Wait for socket events in thread
safe and multiple process safe.
(fhandler_socket::release): Rewrite. Close per-socket descriptor
mutex handle and event handle.
(fhandler_socket::dup): Duplicate wsock_mtx and wsock_evt. Fix
copy-paste error in debug output.
(fhandler_socket::connect): Accomodate new event handling.
(fhandler_socket::listen): Set listener flag on successful listen.
(fhandler_socket::accept): Accomodate new event handling.
(fhandler_socket::recv_internal): New inline method centralizing
common recv code.
(fhandler_socket::recvfrom): Call recv_internal now.
(fhandler_socket::recvmsg): Ditto. Streamline copying from iovec
to WSABUF.
(fhandler_socket::send_internal): New inline method centralizing
common send code.
(fhandler_socket::sendto): Call send_internal now.
(fhandler_socket::sendmsg): Ditto. Streamline copying from iovec
to WSABUF.
(fhandler_socket::close): Call release now.
(fhandler_socket::ioctl): Never actually switch to blocking mode.
Just keep track of the setting.
* net.cc (fdsock): Call prepare now.
(cygwin_connect): Revert again to event driven technique.
(cygwin_accept): Ditto.
* poll.cc (poll): Don't call recvfrom on a listening socket.
Remove special case for failing recvfrom.
* include/sys/socket.h: Declare recv* and send* functions ssize_t as
requested by POSIX.
2006-07-07 Corinna Vinschen <corinna@vinschen.de>
* net.cc (cygwin_inet_ntop): Fix data type of forth parameter.
2006-07-06 Corinna Vinschen <corinna@vinschen.de>
* include/cygwin/in6.h (struct in6_addr): Fix typo.
2006-07-06 Corinna Vinschen <corinna@vinschen.de>
* cygwin.din: Export in6addr_any, in6addr_loopback, freeaddrinfo,
gai_strerror, getaddrinfo, getnameinfo.
* fhandler_socket.cc: Include cygwin/in6.h.
(get_inet_addr): Accomodate AF_INET6 usage.
(fhandler_socket::connect): Ditto.
(fhandler_socket::listen): Ditto.
(fhandler_socket::sendto): Ditto.
* net.cc: Include cygwin/in6.h.
(in6addr_any): Define.
(in6addr_loopback): Define.
(cygwin_socket): Accomodate AF_INET6 usage.
(socketpair): Bind socketpairs only to loopback for security.
(inet_pton4): New static function.
(inet_pton6): Ditto.
(cygwin_inet_pton): New AF_INET6 aware inet_pton implementation.
(inet_ntop4): New static function.
(inet_ntop6): Ditto.
(cygwin_inet_ntop): New AF_INET6 aware inet_ntop implementation.
(ga_aistruct): New static function.
(ga_clone): Ditto.
(ga_echeck): Ditto.
(ga_nsearch): Ditto.
(ga_port): Ditto.
(ga_serv): Ditto.
(ga_unix): Ditto.
(gn_ipv46): Ditto.
(ipv4_freeaddrinfo): Ditto.
(ipv4_getaddrinfo): Ditto.
(ipv4_getnameinfo): Ditto.
(gai_errmap_t): New structure holding error code - error string mapping.
(cygwin_gai_strerror): New function implementing gai_strerror.
(w32_to_gai_err): New static function.
(get_ipv6_funcs): Ditto.
(load_ipv6_funcs): Ditto.
(cygwin_freeaddrinfo): New function implementing freeaddrinfo.
(cygwin_getaddrinfo): New function implementing getaddrinfo.
(cygwin_getnameinfo): New function implementing getnameinfo.
* include/netdb.h: Include stdint.h and cygwin/socket.h. Define
data types and macros used by getaddrinfo and friends. Declare
freeaddrinfo, gai_strerror, getaddrinfo and getnameinfo.
* include/cygwin/in.h: Add IPv6 related IPPROTOs. Remove definition
of struct sockaddr_in6. Include cygwin/in6.h instead.
* include/cygwin/in6.h: New header file defining IPv6 releated
data types and macros.
* include/cygwin/socket.h: Enable AF_INET6 and PF_INET6. Add
IPv6 related socket options.
* include/cygwin/version.h: Bump API minor number.
2006-07-06 Corinna Vinschen <corinna@vinschen.de>
* autoload.cc (DsGetDcNameA): Define.
(NetGetAnyDCName): Define.
* security.cc: Include dsgetdc.h.
(DsGetDcNameA): Declare.
(DS_FORCE_REDISCOVERY): Define.
(get_logon_server): Add bool parameter to control rediscovery of DC.
Use DsGetDcNameA function if supported, NetGetDCName/NetGetAnyDCName
otherwise.
(get_server_groups): Rediscover DC if get_user_groups fails and
try again.
(get_reg_security): Use correct error code macro when testing
RegGetKeySecurity return value.
* security.h (get_logon_server): Remove default vaue from wserver
parameter. Add rediscovery parameter.
* uinfo.cc (cygheap_user::env_logsrv): Accomodate rediscovery parameter
in call to get_logon_server.
2006-07-25 21:23:23 +02:00
|
|
|
157: Export gai_strerror, getaddrinfo, getnameinfo, freeaddrinfo,
|
|
|
|
in6addr_any, in6addr_loopback.
|
|
|
|
158: Export bindresvport, bindresvport_sa, iruserok_sa, rcmd_af,
|
|
|
|
rresvport_af.
|
|
|
|
159: Export posix_openpt.
|
2007-06-29 00:45:49 +02:00
|
|
|
160: Export posix_fadvise, posix_fallocate.
|
2006-12-11 20:59:06 +01:00
|
|
|
161: Export resolver functions.
|
2007-01-21 23:54:05 +01:00
|
|
|
162: New struct ifreq. Export if_nametoindex, if_indextoname,
|
|
|
|
if_nameindex, if_freenameindex.
|
2007-02-07 18:22:40 +01:00
|
|
|
163: Export posix_madvise, posix_memalign.
|
2007-02-08 14:36:53 +01:00
|
|
|
164: Export shm_open, shm_unlink.
|
2007-02-14 11:06:46 +01:00
|
|
|
165: Export mq_close, mq_getattr, mq_notify, mq_open, mq_receive,
|
|
|
|
mq_send, mq_setattr, mq_timedreceive, mq_timedsend, mq_unlink.
|
2007-02-20 16:48:04 +01:00
|
|
|
166: Export sem_unlink.
|
2007-03-06 15:48:25 +01:00
|
|
|
167: Add st_birthtim to struct stat.
|
2007-05-15 03:23:30 +02:00
|
|
|
168: Export asnprintf, dprintf, _Exit, vasnprintf, vdprintf.
|
2007-06-11 19:38:27 +02:00
|
|
|
169: Export confstr.
|
2007-06-12 17:24:46 +02:00
|
|
|
170: Export insque, remque.
|
2007-06-21 09:22:16 +02:00
|
|
|
171: Export exp10, exp10f, pow10, pow10f, strcasestr, funopen,
|
2008-02-15 18:53:11 +01:00
|
|
|
fopencookie.
|
2007-06-21 17:57:54 +02:00
|
|
|
172: Export getifaddrs, freeifaddrs.
|
2007-06-27 14:46:35 +02:00
|
|
|
173: Export __assert_func.
|
2007-06-28 19:55:01 +02:00
|
|
|
174: Export stpcpy, stpncpy.
|
2007-06-29 17:13:01 +02:00
|
|
|
175: Export fdopendir.
|
2007-07-06 22:05:44 +02:00
|
|
|
176: Export wcstol, wcstoll, wcstoul, wcstoull, wcsxfrm.
|
2007-07-10 02:12:54 +02:00
|
|
|
177: Export sys_sigabbrev
|
2007-12-19 18:38:18 +01:00
|
|
|
178: Export wcpcpy, wcpncpy.
|
* cygwin.din (_f_llrint, _f_llrintf, _f_llrintl, _f_lrint, _f_lrintf,
_f_lrintl, _f_rint, _f_rintf, _f_rintl): Export fast *rint* functions.
(lrint, lrintf, rint, rintf): Redirect exports to alias _f_ versions.
(llrint, llrintf, llrintl, lrintl, rintl): Add exports aliasing _f_*
versions likewise.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
2007-12-30 22:12:08 +01:00
|
|
|
179: Export _f_llrint, _f_llrintf, _f_llrintl, _f_lrint, _f_lrintf,
|
|
|
|
_f_lrintl, _f_rint, _f_rintf, _f_rintl, llrint, llrintf, llrintl,
|
|
|
|
rintl, lrintl, and redirect exports of lrint, lrintf, rint, rintf.
|
* Makefile.in (DLL_OFILES): Add ntea.o.
* cygwin.din (getxattr, listxattr, removexattr, setxattr, lgetxattr,
llistxattr, lremovexattr, lsetxattr, fgetxattr, flistxattr,
fremovexattr, fsetxattr): Export Linux extended attribute functions.
Sort.
* errno.cc (errmap): Add mappings for ERROR_EAS_DIDNT_FIT,
ERROR_EAS_NOT_SUPPORTED, ERROR_EA_LIST_INCONSISTENT,
ERROR_EA_TABLE_FULL, ERROR_FILE_CORRUPT, ERROR_INVALID_EA_NAME.
* fhandler.h (class fhandler_base): Declare new fgetxattr and
fsetxattr methods.
(class fhandler_disk_file): Ditto.
* fhandler.cc (fhandler_base::fgetxattr): New method.
(fhandler_base::fsetxattr): New method.
* fhandler_disk_file.cc (fhandler_disk_file::fgetxattr): New method.
(fhandler_disk_file::fsetxattr): New method.
* ntdll.h (STATUS_EA_TOO_LARGE): Define.
(STATUS_NONEXISTENT_EA_ENTRY): Define.
(STATUS_NO_EAS_ON_FILE): Define.
* ntea.cc (read_ea): Rewrite for long pathnames and for using with
Linux extended attribute functions.
(write_ea): Ditto.
(getxattr_worker): New static function.
(getxattr): New function.
(lgetxattr): New function.
(fgetxattr): New function.
(listxattr): New function.
(llistxattr): New function.
(flistxattr): New function.
(setxattr_worker): New static function.
(setxattr): New function.
(lsetxattr): New function.
(fsetxattr): New function.
(removexattr): New function.
(lsetxattr): New function.
(fsetxattr): New function.
* security.h (read_ea): Change declaration according to above changes.
(write_ea): Ditto.
* include/cygwin/version.h: Bump API minor version.
2008-02-10 16:43:04 +01:00
|
|
|
180: Export getxattr, lgetxattr, fgetxattr, listxattr, llistxattr,
|
|
|
|
flistxattr, setxattr, lsetxattr, fsetxattr, removexattr,
|
|
|
|
lremovexattr, fremovexattr.
|
2008-03-12 13:41:50 +01:00
|
|
|
181: Export cygwin_conv_path, cygwin_create_path, cygwin_conv_path_list.
|
2008-03-24 15:48:58 +01:00
|
|
|
182: Export lockf.
|
2008-04-10 11:27:58 +02:00
|
|
|
FIXME: Removed 12 year old and entirely wrong wprintf function at
|
2008-11-26 18:21:04 +01:00
|
|
|
this point. We need a working implementation soon.
|
2008-04-22 18:55:23 +02:00
|
|
|
183: Export open_memstream, fmemopen.
|
2008-04-23 13:13:52 +02:00
|
|
|
184: Export openat, faccessat, fchmodat, fchownat, fstatat, futimesat,
|
2008-11-26 18:21:04 +01:00
|
|
|
linkat, mkdirat, mkfifoat, mknodat, readlinkat, renameat, symlinkat,
|
2008-04-23 13:13:52 +02:00
|
|
|
unlinkat.
|
2008-04-24 11:59:54 +02:00
|
|
|
185: Export futimens, utimensat.
|
2008-07-29 16:07:21 +02:00
|
|
|
186: Remove ancient V8 regexp functions. Also eliminate old crt0 interface
|
2008-11-26 18:21:04 +01:00
|
|
|
which provided its own user_data structure.
|
2008-09-13 00:32:07 +02:00
|
|
|
187: Export cfmakeraw.
|
2008-11-26 11:18:10 +01:00
|
|
|
188: Export CW_SET_PRIV_KEY.
|
2008-11-29 02:39:53 +01:00
|
|
|
189: Implement dirent.d_type.
|
2008-12-15 13:40:29 +01:00
|
|
|
190: Export fgetwc, fgetws, fputwc, fputws, fwide, getwc, getwchar,
|
|
|
|
putwc, putwchar, ungetwc.
|
2008-12-31 22:47:45 +01:00
|
|
|
191: Export glob_pattern_p
|
2009-01-09 06:18:02 +01:00
|
|
|
192: CW_SETERRNO added
|
2009-02-05 18:30:17 +01:00
|
|
|
193: Export wcstok.
|
2009-02-11 17:06:39 +01:00
|
|
|
194: fcntl.h flags O_DIRECTORY, O_EXEC and O_SEARCH added.
|
2009-02-13 09:33:11 +01:00
|
|
|
195: Export wcstod, wcstof.
|
2009-02-13 19:39:37 +01:00
|
|
|
196: Export wcsnlen.
|
2009-02-16 16:36:01 +01:00
|
|
|
197: Export wcstoimax, wcstoumax.
|
2009-02-16 21:22:38 +01:00
|
|
|
198: Export reallocf.
|
2009-02-18 18:38:16 +01:00
|
|
|
199: Export open_wmemstream.
|
2009-02-19 10:22:51 +01:00
|
|
|
200: Export mbsnrtowcs, wcsnrtombs.
|
2009-03-06 11:09:55 +01:00
|
|
|
201: Export wprintf, fwprintf, swprintf, vwprintf, vfwprintf, vswprintf.
|
2009-03-06 17:31:26 +01:00
|
|
|
202: Export gethostbyname2.
|
2009-03-09 14:22:37 +01:00
|
|
|
203: Export wcsftime.
|
2009-03-09 15:40:45 +01:00
|
|
|
204: recv/send flag MSG_DONTWAIT added.
|
2009-03-11 13:03:44 +01:00
|
|
|
205: Export wscanf, fwscanf, swscanf, vwscanf, vfwscanf, vswscanf.
|
2009-03-11 14:00:28 +01:00
|
|
|
206: Export wcscasecmp, wcsncasecmp.
|
2009-03-15 14:45:02 +01:00
|
|
|
207: Export wcsdup.
|
2009-03-19 10:22:01 +01:00
|
|
|
208: Export log2, log2f.
|
2009-03-23 10:46:38 +01:00
|
|
|
209: Export wordexp, wordfree.
|
2009-03-31 11:42:58 +02:00
|
|
|
210: New ctype layout using variable ctype pointer. Export __ctype_ptr__.
|
2009-07-03 15:01:17 +02:00
|
|
|
211: Export fpurge, mkstemps.
|
winsup/ChangeLog:
* Makefile.common (COMPILE_CXX): Add support for per-file overrides
to exclude $(nostdinc) and $(nostdincxx) from compiler flags.
(COMPILE_CC): Likewise for $(nostdinc).
winsup/cygwin/ChangeLog:
* Makefile.in (DLL_OFILES): Add libstdcxx_wrapper.o
(libstdcxx_wrapper_CFLAGS): Add flags for new module.
(_cygwin_crt0_common_STDINCFLAGS): Define per-file override.
(libstdcxx_wrapper_STDINCFLAGS, cxx_STDINCFLAGS): Likewise.
* cxx.cc: Include "cygwin-cxx.h".
(operator new): Tweak prototype for full standards compliance.
(operator new[]): Likewise.
(operator new (nothrow)): New fallback function.
(operator new[] (nothrow), operator delete (nothrow),
operator delete[] (nothrow)): Likewise.
(default_cygwin_cxx_malloc): New struct of pointers to the above,
for final last-resort fallback default.
* cygwin-cxx.h: New file.
(struct per_process_cxx_malloc): Define.
(default_cygwin_cxx_malloc): Declare extern.
* cygwin.din (__wrap__ZdaPv): Export new wrapper.
(__wrap__ZdaPvRKSt9nothrow_t, __wrap__ZdlPv,
__wrap__ZdlPvRKSt9nothrow_t, __wrap__Znaj,
__wrap__ZnajRKSt9nothrow_t, __wrap__Znwj,
__wrap__ZnwjRKSt9nothrow_t): Likewise.
* globals.cc (__cygwin_user_data): Init newly-repurposed 'forkee'
field (now 'cxx_malloc') to point to default_cygwin_cxx_malloc.
* libstdcxx_wrapper.cc: New file.
(__wrap__ZdaPv, __wrap__ZdaPvRKSt9nothrow_t, __wrap__ZdlPv,
__wrap__ZdlPvRKSt9nothrow_t, __wrap__Znaj,
__wrap__ZnajRKSt9nothrow_t, __wrap__Znwj,
__wrap__ZnwjRKSt9nothrow_t): Define wrapper functions for libstdc++
malloc operators and their overrides.
* winsup.h (default_cygwin_cxx_malloc): Declare extern.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* include/sys/cygwin.h (struct per_process_cxx_malloc): Forward
declare here.
(struct per_process::forkee): Rename and repurpose from this ...
(struct per_process::cxx_malloc): ... to this.
* lib/_cygwin_crt0_common.cc: Include cygwin-cxx.h.
(WEAK): Define shorthand helper macro.
(__cygwin_cxx_malloc): Define and populate with weak references
to whatever libstdc++ malloc operators will be visible at final
link time for Cygwin apps and dlls.
(_cygwin_crt0_common): Always look up cygwin DLL's internal
per_process data, and don't test for (impossible) failure. Inherit
any members of __cygwin_cxx_malloc that we don't have overrides
for from the DLL's default and store the resulting overall set of
overrides back into the DLL's global per_process data.
2009-07-07 22:12:44 +02:00
|
|
|
212: Add and export libstdc++ malloc wrappers.
|
2009-09-26 01:55:00 +02:00
|
|
|
213: Export canonicalize_file_name, eaccess, euidaccess.
|
2009-09-26 23:01:10 +02:00
|
|
|
214: Export execvpe, fexecve.
|
2009-10-06 23:51:17 +02:00
|
|
|
215: CW_EXIT_PROCESS added.
|
2009-10-13 14:08:22 +02:00
|
|
|
216: CW_SET_EXTERNAL_TOKEN added.
|
2009-10-31 14:24:06 +01:00
|
|
|
217: CW_GET_INSTKEY added.
|
2009-11-12 15:40:48 +01:00
|
|
|
218: Export get_nprocs, get_nprocs_conf, get_phys_pages, get_avphys_pages.
|
2010-01-14 19:46:02 +01:00
|
|
|
219: Export dup3, pipe2, O_CLOEXEC, F_DUPFD_CLOEXEC.
|
2010-01-15 16:40:05 +01:00
|
|
|
220: Export accept4, SOCK_CLOEXEC, SOCK_NONBLOCK.
|
2010-01-22 23:31:31 +01:00
|
|
|
221: Export strfmon.
|
2010-02-08 10:52:40 +01:00
|
|
|
222: CW_INT_SETLOCALE added.
|
2010-02-26 06:43:50 +01:00
|
|
|
223: SIGPWR added.
|
2010-03-03 16:05:19 +01:00
|
|
|
224: Export xdr* functions.
|
2010-03-04 10:37:52 +01:00
|
|
|
225: Export __xdr* functions.
|
2010-04-28 12:20:34 +02:00
|
|
|
226: Export __locale_mb_cur_max.
|
2010-07-04 19:12:27 +02:00
|
|
|
227: Add pseudo_reloc_start, pseudo_reloc_end, image_base to per_process.
|
|
|
|
228: CW_STRERROR added.
|
2010-07-19 20:22:40 +02:00
|
|
|
229: Add mkostemp, mkostemps.
|
2010-08-09 18:47:48 +02:00
|
|
|
230: Add CLOCK_MONOTONIC.
|
winsup/cygwin/ChangeLog:
* Makefile.in (DLL_OFILES): Add new fenv.o module.
(fenv_CFLAGS): New flags definition for fenv.o compile.
* autoload.cc (std_dll_init): Use fenv.h functions instead of direct
manipulation of x87 FPU registers.
* crt0.c (mainCRTStartup): Likewise.
* cygwin.din (feclearexcept, fegetexceptflag, feraiseexcept,
fesetexceptflag, fetestexcept, fegetround, fesetround, fegetenv,
feholdexcept, fesetenv, feupdateenv, fegetprec, fesetprec,
feenableexcept, fedisableexcept, fegetexcept, _feinitialise,
_fe_dfl_env, _fe_nomask_env): Export new functions and data items.
* fenv.cc: New file.
* posix.sgml: Update status of newly-implemented APIs.
* include/fenv.h: Likewise related header.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
2010-09-11 08:53:28 +02:00
|
|
|
231: Add fenv.h functions.
|
2010-10-08 12:51:17 +02:00
|
|
|
232: Export cacos, cacosf, cacosh, cacoshf, carg, cargf, casin, casinf,
|
|
|
|
casinh, casinhf, catan, catanf, catanh, catanhf, ccos, ccosf, ccosh,
|
|
|
|
ccoshf, cexp, cexpf, cimag, cimagf, clog, clogf, conj, conjf, cpow,
|
|
|
|
cpowf, cproj, cprojf, creal, crealf, csin, csinf, csinh, csinhf,
|
|
|
|
csqrt, csqrtf, ctan, ctanf, ctanh, ctanhf.
|
2010-11-15 13:44:57 +01:00
|
|
|
233: Add TIOCGPGRP, TIOCSPGRP. Export llround, llroundf.
|
2011-01-12 14:01:43 +01:00
|
|
|
234: Export program_invocation_name, program_invocation_short_name.
|
|
|
|
235: Export madvise.
|
2011-02-10 18:36:51 +01:00
|
|
|
236: Export pthread_yield, __xpg_strerror_r.
|
2011-03-28 16:55:20 +02:00
|
|
|
237: Export strchrnul.
|
2011-03-29 12:32:40 +02:00
|
|
|
238: Export pthread_spin_destroy, pthread_spin_init, pthread_spin_lock,
|
|
|
|
pthread_spin_trylock, pthread_spin_unlock.
|
2011-04-15 11:22:14 +02:00
|
|
|
239: Export pthread_setschedprio.
|
2011-04-18 14:00:05 +02:00
|
|
|
240: Export ppoll.
|
2011-05-03 03:13:37 +02:00
|
|
|
241: Export pthread_attr_getstack, pthread_attr_getstackaddr,
|
|
|
|
pthread_getattr_np.
|
2011-05-05 00:12:15 +02:00
|
|
|
242: Export psiginfo, psignal, sys_siglist.
|
2011-05-06 20:53:21 +02:00
|
|
|
243: Export sysinfo.
|
2011-05-09 10:57:46 +02:00
|
|
|
244: Export clock_settime.
|
2011-05-15 20:49:40 +02:00
|
|
|
245: Export pthread_attr_getguardsize, pthread_attr_setguardsize,
|
|
|
|
pthread_attr_setstack, pthread_attr_setstackaddr.
|
2011-05-17 19:08:10 +02:00
|
|
|
246: Add CLOCK_PROCESS_CPUTIME_ID, CLOCK_THREAD_CPUTIME_ID.
|
|
|
|
Export clock_getcpuclockid, pthread_getcpuclockid.
|
2011-05-18 03:25:41 +02:00
|
|
|
247: Export error, error_at_line, error_message_count, error_one_per_line,
|
|
|
|
error_print_progname.
|
2011-05-19 09:23:29 +02:00
|
|
|
248: Export __fpurge.
|
2011-07-21 11:39:22 +02:00
|
|
|
249: Export pthread_condattr_getclock, pthread_condattr_setclock.
|
2011-08-03 21:17:02 +02:00
|
|
|
250: Export clock_nanosleep.
|
2011-08-16 16:48:38 +02:00
|
|
|
251: RTLD_NODELETE, RTLD_NOLOAD, RTLD_DEEPBIND added.
|
2011-10-05 14:27:37 +02:00
|
|
|
252: CW_CVT_ENV_TO_WINENV added.
|
2011-10-12 01:20:38 +02:00
|
|
|
253: Export TIOCSCTTY, tcgetsid.
|
2011-10-28 11:26:42 +02:00
|
|
|
254: Export getgrouplist.
|
2011-11-07 21:05:49 +01:00
|
|
|
255: Export ptsname_r.
|
2011-12-22 13:25:10 +01:00
|
|
|
256: Add CW_ALLOC_DRIVE_MAP, CW_MAP_DRIVE_MAP, CW_FREE_DRIVE_MAP.
|
2011-12-30 21:22:28 +01:00
|
|
|
257: Export getpt.
|
2012-01-01 19:54:25 +01:00
|
|
|
258: Export get_current_dir_name.
|
2012-01-06 08:12:18 +01:00
|
|
|
259: Export pthread_sigqueue.
|
2012-02-22 02:58:24 +01:00
|
|
|
260: Export scandirat.
|
2012-05-10 10:35:22 +02:00
|
|
|
261: Export memrchr.
|
2012-07-18 13:17:25 +02:00
|
|
|
262: Export getmntent_r.
|
2012-11-21 21:13:07 +01:00
|
|
|
263: Export cfsetspeed.
|
2013-05-13 21:27:34 +02:00
|
|
|
264: Consistently export strtold
|
2013-05-21 12:07:55 +02:00
|
|
|
265: Export __b64_ntop, __b64_pton.
|
2013-05-21 21:04:49 +02:00
|
|
|
266: Export arc4random, arc4random_addrandom, arc4random_buf,
|
|
|
|
arc4random_stir, arc4random_uniform.
|
2013-06-24 17:12:40 +02:00
|
|
|
267: Export rawmemchr.
|
2000-02-17 20:38:33 +01:00
|
|
|
*/
|
|
|
|
|
2001-12-26 05:53:34 +01:00
|
|
|
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
|
|
|
|
|
2000-02-17 20:38:33 +01:00
|
|
|
#define CYGWIN_VERSION_API_MAJOR 0
|
2013-06-24 17:12:40 +02:00
|
|
|
#define CYGWIN_VERSION_API_MINOR 267
|
2000-02-17 20:38:33 +01:00
|
|
|
|
|
|
|
/* There is also a compatibity version number associated with the
|
|
|
|
shared memory regions. It is incremented when incompatible
|
|
|
|
changes are made to the shared memory region *or* to any named
|
|
|
|
shared mutexes, semaphores, etc. The arbitrary starting
|
2004-02-05 20:57:03 +01:00
|
|
|
version was 0 (cygwin release 98r2).
|
|
|
|
Bump to 4 since this hasn't been rigorously updated in a
|
|
|
|
while. */
|
2000-02-17 20:38:33 +01:00
|
|
|
|
2008-04-21 14:46:58 +02:00
|
|
|
#define CYGWIN_VERSION_SHARED_DATA 5
|
2000-02-17 20:38:33 +01:00
|
|
|
|
|
|
|
/* An identifier used in the names used to create shared objects.
|
|
|
|
The full names include the CYGWIN_VERSION_SHARED_DATA version
|
|
|
|
as well as this identifier. */
|
|
|
|
|
|
|
|
#define CYGWIN_VERSION_DLL_IDENTIFIER "cygwin1"
|
|
|
|
|
|
|
|
/* The Cygwin mount table interface in the Win32 registry also
|
|
|
|
has a version number associated with it in case that is
|
|
|
|
changed in a non-backwards compatible fashion. Increment this
|
|
|
|
version number whenever incompatible changes in mount table
|
|
|
|
registry usage are made.
|
|
|
|
|
|
|
|
1: Original number version.
|
|
|
|
2: New mount registry layout, system-wide mount accessibility.
|
2008-06-11 11:43:59 +02:00
|
|
|
3: The mount table is not in the registry anymore, but in /etc/fstab.
|
2000-02-17 20:38:33 +01:00
|
|
|
*/
|
|
|
|
|
2008-06-11 11:43:59 +02:00
|
|
|
#define CYGWIN_VERSION_MOUNT_REGISTRY 3
|
2000-02-17 20:38:33 +01:00
|
|
|
|
|
|
|
/* Identifiers used in the Win32 registry. */
|
|
|
|
|
|
|
|
#define CYGWIN_INFO_CYGWIN_REGISTRY_NAME "Cygwin"
|
|
|
|
#define CYGWIN_INFO_PROGRAM_OPTIONS_NAME "Program Options"
|
2009-10-31 14:24:06 +01:00
|
|
|
#define CYGWIN_INFO_INSTALLATIONS_NAME "Installations"
|
2008-06-11 11:43:59 +02:00
|
|
|
|
|
|
|
/* The default cygdrive prefix. */
|
|
|
|
|
2000-11-06 17:40:29 +01:00
|
|
|
#define CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX "/cygdrive"
|
2000-02-17 20:38:33 +01:00
|
|
|
|
|
|
|
/* In addition to the above version number strings, the build
|
|
|
|
process adds some strings that may be useful in
|
|
|
|
debugging/identifying a particular Cygwin DLL:
|
|
|
|
|
|
|
|
The mkvers.sh script at the top level produces a .cc file
|
|
|
|
which initializes a cygwin_version structure based on the
|
|
|
|
above version information and creates a string table for
|
|
|
|
grepping via "fgrep '%%%' cygwinwhatever.dll" if you are
|
|
|
|
using GNU grep. Otherwise you may want to do a
|
|
|
|
"strings cygwinwhatever.dll | fgrep '%%%'" instead.
|
|
|
|
|
|
|
|
This will produce output such as:
|
|
|
|
|
|
|
|
%%% Cygwin dll_identifier: cygwin
|
|
|
|
%%% Cygwin api_major: 0
|
|
|
|
%%% Cygwin api_minor: 0
|
|
|
|
%%% Cygwin dll_major: 19
|
|
|
|
%%% Cygwin dll_minor: 6
|
|
|
|
%%% Cygwin shared_data: 1
|
|
|
|
%%% Cygwin registry: b15
|
|
|
|
%%% Cygwin build date: Wed Oct 14 16:26:51 EDT 1998
|
|
|
|
%%% Cygwin shared id: cygwinS1
|
|
|
|
|
|
|
|
This information can also be obtained through a call to
|
|
|
|
cygwin_internal (CW_GETVERSIONINFO).
|
|
|
|
*/
|
|
|
|
|
2002-10-23 04:20:38 +02:00
|
|
|
#define CYGWIN_VERSION_MAGIC(a, b) ((unsigned) ((((unsigned short) a) << 16) | (unsigned short) b))
|
2001-12-26 05:53:34 +01:00
|
|
|
#define CYGWIN_VERSION_MAGIC_VERSION(a) ((unsigned) ((unsigned)a & 0xffff))
|