summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/posix.sgml
Commit message (Collapse)AuthorAgeFilesLines
* * common.din: Export posix_spawn[...] functions.Corinna Vinschen2013-11-261-1/+21
| | | | | | | * exec.cc (execve): Add EXPORT_ALIAS _execve. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * posix.sgml (std-susv4): Add posix_spawn[...] here. (std-notimpl): Drop here.
* * common.din (rawmemchr): Export.Yaakov Selkowitz2013-06-241-0/+1
| | | | | * posix.sgml (std-gnu): Add rawmemchr. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * posix.sgml (fcntl, flock, lockf): Point to implementation notes.Corinna Vinschen2013-06-131-3/+3
|
* * posix.sgml (std-notes): Fix typo.Corinna Vinschen2013-06-071-1/+1
|
* * fhandler_disk_file.cc (fhandler_disk_file::pread): Skip to non-atomicCorinna Vinschen2013-06-071-2/+24
| | | | | | code if mandatory locking is used on this descriptor. Explain why. (fhandler_disk_file::pwrite): Ditto. * posix.sgml (std-notes): Extend description of file locking.
* * Makefile.in (DLL_OFILES): Add arc4random.o.Corinna Vinschen2013-05-211-0/+5
| | | | | | | | | | | * common.din: Export arc4random, arc4random_addrandom, arc4random_buf, arc4random_stir and arc4random_uniform. * mktemp.cc (arc4random): Remove static replacement function. * posix.sgml (std-bsd): Add arc4random functions. * include/cygwin/stdlib.h: Declare arc4random functions. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * libc/arc4random.cc: New file implementing arc4random functions taken from FreeBSD.
* * libc/base64.c: New file.Corinna Vinschen2013-05-211-0/+2
| | | | | | | * Makefile.in (DLL_OFILES): Add base64.o. * common.din: Export __b64_ntop and __b64_pton. * posix.sgml (std-bsd): Add __b64_ntop and __b64_pton. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * termios.cc (cfsetspeed): New function.Yaakov Selkowitz2012-11-211-0/+1
| | | | | | | * cygwin.din (cfsetspeed): Export. * posix.sgml (std-bsd): Add cfsetspeed. * include/sys/termios.h (cfsetspeed): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * cygwin.din (getmntent_r): Export.Corinna Vinschen2012-07-181-0/+1
| | | | | | | * mount.cc (getmntent_r): New function. * posix.sgml (std-gnu): Add getmntent_r. * include/mntent.h (getmntent_r): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * cygwin.din (memrchr): Export.Corinna Vinschen2012-05-101-0/+1
| | | | | * posix.sgml (std-gnu): Add memrchr. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * posix.sgml (std-notes): Change description of flock restrictions.Corinna Vinschen2012-03-301-4/+5
|
* * cygwin.din (scandirat): Export.Yaakov Selkowitz2012-02-221-0/+1
| | | | | | | * posix.sgml (std-gnu): Add scandirat. * syscalls.cc (scandirat): New function. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * include/sys/dirent.h (scandirat): Declare.
* * cygwin.din (pthread_sigqueue): Export.Yaakov Selkowitz2012-01-061-0/+1
| | | | | | | * posix.sgml (std-gnu): Add pthread_sigqueue. * thread.cc (pthread_sigqueue): New function. * include/thread.h (pthread_sigqueue): New function. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * cygwin.din (get_current_dir_name): Export.Yaakov Selkowitz2012-01-011-0/+1
| | | | | | * path.cc (get_current_dir_name): New function. * posix.sgml (std-gnu): Add get_current_dir_name. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * cygwin.din (getpt): Export.Yaakov Selkowitz2011-12-301-0/+1
| | | | | | | * posix.sgml (std-gnu): Add getpt. * tty.cc (getpt): New function. * include/cygwin/stdlib.h [!__STRICT_ANSI__] (getpt): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * posix.sgml (std-gnu): Add ptsname_r.Corinna Vinschen2011-11-081-0/+1
|
* * cygwin.din (getgrouplist): Export.Corinna Vinschen2011-10-281-0/+1
| | | | | | | | | | | | | * grp.cc (get_groups): New static function to run the core functionality of initgroups and getgrouplist. (initgroups32): Call get_groups and just create supplementary group list in cygheap. Rename name of first argument to "user". Add an assertion to test for a NULL user name. (initgroups): Rename name of first argument to "user". (getgrouplist): New function. * posix.sgml (std-bsd): Add getgrouplist. * include/cygwin/grp.h (getgrouplist): Declare. * include/cygwin/version.h: Bump API minor number.
* * cygwin.din (clock_nanosleep): Export.Yaakov Selkowitz2011-08-031-3/+5
| | | | | | | | | | | | | | | * posix.sgml (std-notimpl): Move clock_nanosleep from here... (std-susv4): ... to here. (std-notes): Note limitations of clock_nanosleep. * signal.cc (clock_nanosleep): Renamed from nanosleep, adding clock_id and flags arguments and changing return values throughout. Improve checks for illegal rqtp values. Add support for CLOCK_MONOTONIC and TIMER_ABSTIME. (nanosleep): Rewrite in terms of clock_nanosleep. (sleep): Ditto. (usleep): Ditto. * thread.cc: Mark clock_nanosleep in list of cancellation points. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * cygwin.din (pthread_condattr_getclock): Export.Yaakov Selkowitz2011-07-211-2/+2
| | | | | | | | | | | | | | | | | | | | (pthread_condattr_setclock): Export. * posix.sgml (std-notimpl): Move pthread_condattr_getclock and pthread_condattr_setclock from here... (std-susv4): ... to here. * sysconf.cc (sca): Set _SC_CLOCK_SELECTION to _POSIX_CLOCK_SELECTION. * thread.cc: (pthread_condattr::pthread_condattr): Initialize clock_id. (pthread_cond::pthread_cond): Initialize clock_id. (pthread_cond_timedwait): Use clock_gettime() instead of gettimeofday() in order to support all allowed clocks. (pthread_condattr_getclock): New function. (pthread_condattr_setclock): New function. * thread.h (class pthread_condattr): Add clock_id member. (class pthread_cond): Ditto. * include/pthread.h: Remove obsolete comment. (pthread_condattr_getclock): Declare. (pthread_condattr_setclock): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * posix.sgml (std-notes): Add missing <para>.Corinna Vinschen2011-05-251-2/+2
|
* * cygwin.din (__fpurge): Export.Yaakov Selkowitz2011-05-191-0/+1
| | | | | * posix.sgml (std-solaris): Add __fpurge. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * posix.sgml (std-susv4): Remove chroot, futimes, hstrerror.Yaakov Selkowitz2011-05-181-4/+6
| | | | | | | (std-deprec): Add chroot. (std-bsd): Add futimes, hstrerror. (std-notimpl): Add clock_nanosleep, nexttoward, nexttowardf. Remove initstate, which is implemented and listed in std-susv4.
* * cygwin.din (error): Export.Yaakov Selkowitz2011-05-181-0/+2
| | | | | | | | | | | | | | | | (error_at_line): Export. (error_message_count): Export. (error_one_per_line): Export. (error_print_progname): Export. * errno.cc (error_message_count): Define. (error_one_per_line): Define. (error_print_progname): Define. (_verror): New static function. (error): New function. (error_at_line): New function. * posix.sgml (std-gnu): Add error, error_at_line. * include/error.h: New header. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * cygwin.din (clock_getcpuclockid): Export.Yaakov Selkowitz2011-05-171-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | (pthread_getcpuclockid): Export. * hires.h (PID_TO_CLOCKID): New macro. (CLOCKID_TO_PID): New macro. (CLOCKID_IS_PROCESS): New macro. (THREADID_TO_CLOCKID): New macro. (CLOCKID_TO_THREADID): New macro. (CLOCKID_IS_THREAD): New macro. * ntdll.h (enum _THREAD_INFORMATION_CLASS): Add ThreadTimes. * posix.sgml (std-notimpl): Add clock_getcpuclockid and pthread_getcpuclockid from here... (std-susv4): ... to here. (std-notes): Remove limitations of clock_getres and clock_gettime. Note limitation of timer_create to CLOCK_REALTIME. * sysconf.cc (sca): Set _SC_CPUTIME to _POSIX_CPUTIME, and _SC_THREAD_CPUTIME to _POSIX_THREAD_CPUTIME. * thread.cc (pthread_getcpuclockid): New function. * timer.cc (timer_create): Set errno to ENOTSUP for CPU-time clocks. * times.cc (clock_gettime): Handle CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID. (clock_getres): Ditto. (clock_settime): Set errno to EPERM for CPU-time clocks. (clock_getcpuclockid): New function. * include/pthread.h (pthread_getcpuclockid): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * cygwin.din (pthread_attr_getguardsize): Export.Corinna Vinschen2011-05-151-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (pthread_attr_setguardsize): Export. (pthread_attr_setstack): Export. (pthread_attr_setstackaddr): Export. * init.cc (dll_entry): Remove wow64_test_stack_marker. Check for unusual stack address by testing stack addresses from current TEB. Check validity of _my_tls by testing if it's within the stack as given in current TEB. * miscfuncs.cc (struct thread_wrapper_arg): New structure used to push all required information to thread_wrapper function. (thread_wrapper): Wrapper function for actual thread function. If an application stack has been given, change %ebp and %esp so that the thread function runs on that stack. If the thread has been created by CygwinCreateThread, set up the POSIX guard pages if necessary. (CygwinCreateThread): New function. * miscfuncs.h (CygwinCreateThread): Declare. * ntdll.h (struct _TEB): Define all members up to Peb. * posix.sgml (std-susv4): Move pthread_attr_getguardsize, pthread_attr_setguardsize and pthread_attr_setstack here. (std-deprec): Add pthread_attr_setstackaddr. * sysconf.cc (sca): Set _SC_THREAD_ATTR_STACKADDR to _POSIX_THREAD_ATTR_STACKADDR. * thread.cc (pthread::precreate): Copy pthread_attr stackaddr and guardsize members. (pthread::create): Call CygwinCreateThread. (pthread_attr::pthread_attr): Initialize guardsize. (pthread_attr_setstack): New function. (pthread_attr_setstackaddr): New function. (pthread_attr_setguardsize): New function. (pthread_attr_getguardsize): New function. (pthread_getattr_np): Copy attr.guardsize. * thread.h (pthread_attr): Add member guardsize. * include/pthread.h (pthread_attr_getguardsize): Declare. (pthread_attr_setguardsize): Declare. * include/cygwin/version.h: Bump API minor number.
* * times.cc (settimeofday): Add EFAULT handler.Yaakov Selkowitz2011-05-091-4/+5
| | | | | | | | | | | | | | Set errno to EINVAL if tv.tv_nsec is invalid, and to EPERM if SetSystemTime fails. Return -1 in case of failure, all for compatibility with BSD and Linux. (clock_settime): New function. * cygwin.din (clock_settime): Export. * posix.sgml (std-susv4): Add clock_settime. Move clock_setres from here... (std-deprec): ... to here. (std-notes): Correct limitation of clock_setres to only CLOCK_REALTIME. Add limitation of clock_settime to only CLOCK_REALTIME. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * sysconf.cc (sysinfo): New function.Yaakov Selkowitz2011-05-061-0/+1
| | | | | | | | * cygwin.din (sysinfo): Export. * posix.sgml (std-gnu): Add sysinfo. * include/sys/sysinfo.h (struct sysinfo): Define. (sysinfo): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * posix.sgml (std-notimpl): Remove bsd_signal, setcontext, andCorinna Vinschen2011-05-051-3/+0
| | | | swapcontext, marked obsolete in SUSv3 and not present in SUSv4.
* * cygwin.din (psiginfo): Export.Yaakov Selkowitz2011-05-041-2/+3
| | | | | | | | | | | | | (psignal): Export. (sys_siglist): Export. * posix.sgml (std-notimpl): Move psiginfo and psignal from here... (std-susv4): ... to here. (std-deprec): Add sys_siglist. * strsig.cc (sys_siglist): New array. (psiginfo): New function. * include/cygwin/signal.h (sys_siglist): Declare. (psiginfo): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * cygwin.din (pthread_attr_getstack): Export.Yaakov Selkowitz2011-05-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | (pthread_attr_getstackaddr): Export. (pthread_getattr_np): Export. * ntdll.h (enum _THREAD_INFORMATION_CLASS): Add ThreadBasicInformation. (struct _THREAD_BASIC_INFORMATION): Define. (NtQueryInformationThread): Declare. * posix.sgml (std-susv4): Add pthread_attr_getstack. (std-gnu): Add pthread_getattr_np. (std-deprec): Add pthread_attr_getstackaddr. (std-notimpl): Remove pthread_attr_[gs]etstackaddr, as they were removed from SUSv4. * thread.cc (pthread_attr::pthread_attr): Initialize stackaddr. (pthread_attr_getstack): New function. (pthread_attr_getstackaddr): New function. (pthread_attr_setstacksize): Return EINVAL if passed size less than PTHREAD_STACK_MIN, as required by POSIX. (pthread_getattr_np): New function. * thread.h (class pthread_attr): Add stackaddr member. * include/pthread.h (pthread_attr_getstack): Declare. (pthread_attr_getstackaddr): Declare unconditionally. (pthread_attr_setstack): Declare inside false conditional for reference. (pthread_getattr_np): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * cygwin.din (ppoll): Export.Corinna Vinschen2011-04-181-0/+1
| | | | | | | * poll.cc (ppoll): Implement. * posix.sgml (std-gnu): Add ppoll. * include/cygwin/version.h: Bump API minor number. * include/sys/poll.h (ppoll): Declare.
* * thread.cc (pthread_setschedprio): New function.Yaakov Selkowitz2011-04-151-1/+1
| | | | | | | | * include/pthread.h (pthread_setschedprio): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * cygwin.din (pthread_setschedprio): Export. * posix.sgml (std-notimpl) Move pthread_setschedprio from here... (std-susv4) ...to here.
* * cygwin.din (pthread_spin_destroy): Export.Corinna Vinschen2011-03-291-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (pthread_spin_init): Export. (pthread_spin_lock): Export. (pthread_spin_trylock): Export. (pthread_spin_unlock): Export. * posix.sgml (std-susv4): Add pthread_spin_destroy, pthread_spin_init, pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock. (std-notimpl): Remove pthread_spin_[...]. * pthread.cc (pthread_spin_init): New function. * thread.cc (pthread_spinlock::is_good_object): New function. (pthread_mutex::pthread_mutex): Rearrange initializers to accommodate protected data in pthread_mutex. (pthread_spinlock::pthread_spinlock): New constructor. (pthread_spinlock::lock): New method. (pthread_spinlock::unlock): New method. (pthread_spinlock::init): New method. (pthread_spin_lock): New function. (pthread_spin_trylock): New function. (pthread_spin_unlock): New function. (pthread_spin_destroy): New function. * thread.h (PTHREAD_SPINLOCK_MAGIC): Define. (class pthread_mutex): Change access level of members shared with derived classes to protected. (pthread_mutex::set_shared): New protected method. (class pthread_spinlock): New class, derived class of pthread_mutex. * include/pthread.h (pthread_spin_destroy): Declare. (pthread_spin_init): Declare. (pthread_spin_lock): Declare. (pthread_spin_trylock): Declare. (pthread_spin_unlock): Declare. * include/cygwin/types.h (pthread_spinlock_t): New typedef. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
* * cygwin.din (strchrnul): Export.Corinna Vinschen2011-03-281-0/+1
| | | | | * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * posix.sgml (std-gnu): Add strchrnul.
* * cygwin.din (pthread_yield): Export as alias to sched_yield.Yaakov Selkowitz2011-02-101-0/+1
| | | | | | * include/pthread.h (pthread_yield): Declare. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * posix.sgml (std-deprec): Add pthread_yield.
* * posix.sgml: Add madvise to BSD list.Corinna Vinschen2011-01-121-0/+1
|
* * posix.sgml: Move llround and llroundf to implemented SUSv4 functions.Corinna Vinschen2010-11-151-2/+2
| | | | | * include/cygwin/version.h: Add llround and llroundf to the comment for the 233 CYGWIN_VERSION_API_MINOR bump.
* * cygwin.din: Export new complex math functions from newlib.Corinna Vinschen2010-10-081-43/+43
| | | | | | * posix.sgml: Move newly exported complex functions to implemented SUSv4 functions. * include/cygwin/version.h: Bump API minor version.
* winsup/cygwin/ChangeLog:Dave Korn2010-09-111-11/+16
| | | | | | | | | | | | | | | | | * 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.
* * posix.sgml (std-notes): Fix typos and incorrectnesses.Corinna Vinschen2010-08-301-8/+8
|
* Add mkostemp and mkostemps.Eric Blake2010-07-191-0/+2
| | | | | | | | * mktemp.cc (_gettemp): Add flags argument. All callers updated. (mkostemp, mkostemps): New functions. * cygwin.din (mkostemp, mkostemps): Export. * posix.sgml: Document them. * include/cygwin/version.h: Bump version.
* * posix.sgml (std-notes): Improve lseek description.Corinna Vinschen2010-04-121-2/+3
|
* * cygwin.din: Export __xdr functions.Corinna Vinschen2010-03-041-0/+2
| | | | | | * include/cygwin/version.h: Bump version. * posix.sgml: Add a few more XDR functions to list of implemented Solaris functions.
* Add XDR support.Corinna Vinschen2010-03-031-0/+47
| | | | | | | | | | | | * cygwin.din: Export xdr functions. * include/cygwin/version.h: Bump version. * cygxdr.cc: New. * cygxdr.h: New. * dcrt0.cc (dll_crt0_1): Print the (rare) xdr-related error messages to stderr. * Makefile.in: Add cygxdr. * posix.sgml: Add new XDR functions to list of implemented Solaris functions.
* * posix.sgml (strfmon): Move to implemented SUSv4 API.Corinna Vinschen2010-01-221-1/+1
|
* * cygwin.din (accept4): Export.Corinna Vinschen2010-01-151-0/+1
| | | | | | | | | | | | | | | | | | | * fhandler.h (fhandler_socket::accept4): Rename from accept. Take additional flag parameter. * fhandler_socket.cc (fhandler_socket::accept4): Ditto. Handle SOCK_NONBLOCK and SOCK_CLOEXEC flags. * net.cc (cygwin_socket): Handle SOCK_NONBLOCK and SOCK_CLOEXEC flags in type. Check for invalid flag values. (socketpair): Ditto. (cygwin_accept): Accommodate renaming of fhandler_socket::accept function to accept4. (accept4): New function. * posix.sgml: Mention accept4 as GNU extensions. * include/cygwin/socket.h (SOCK_NONBLOCK): Define. (SOCK_CLOEXEC): Define. (_SOCK_FLAG_MASK): Define when building Cygwin. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * include/sys/socket.h (accept4): Declare.
* * posix.sgml: Mention dup3 and pipe2 as GNU extensions.Corinna Vinschen2010-01-151-0/+2
|
* * sysconf.cc (get_nprocs): New function.Corinna Vinschen2009-11-121-0/+4
| | | | | | | | | | (get_nprocs_conf): Ditto. (get_avphys_pages): Ditto. (get_phys_pages): Ditto. * cygwin.din: Export them. * include/sys/sysinfo.h: New header, decalre above new functions. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * posix.sgml: Mention them as GNU extensions.
* Add fexecve, execvpe.Eric Blake2009-09-261-1/+2
| | | | | | | | * exec.cc (fexecve): New function. * cygwin.din (execvpe, fexecve): Export new fexecve and existing execvpe. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * posix.sgml: Mention them.
* Provide euidaccess, canonicalize_file_name; fix fchmodat.Eric Blake2009-09-251-0/+3
| | | | | | | | | | | * syscalls.cc (fchmodat): lchmod is not yet implemented. (euidaccess): New function. * path.cc (realpath): Update comment. (canonicalize_file_name): New function. * include/cygwin/stdlib.h (canonicalize_file_name): Declare it. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * cygwin.din: Export canonicalize_file_name, eaccess, euidaccess. * posix.sgml: Mention them.