summaryrefslogtreecommitdiffstats
path: root/newlib/libc/include/sys/unistd.h
Commit message (Collapse)AuthorAgeFilesLines
* Declare crypt, encrypt, and setkey per PosixKen Brown2016-06-091-0/+6
|
* Feature test macros: ctermid, cuseridYaakov Selkowitz2016-05-231-0/+4
| | | | | | | | | | The proper location for these functions has always been <stdio.h>, however XPG4 and SUSv2 did mandate a duplicate declaration in <unistd.h>. cuserid was dropped in SUSv3 (it was marked legacy since XPG4) and the ctermid declaration in <unistd.h> was made optional and obsolete in SUSv4. Fixes: https://cygwin.com/ml/cygwin/2016-05/msg00002.html Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Add arc4random() etc. from OpenBSD 5.8Sebastian Huber2016-03-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | According to the OpenBSD man page, "A Replacement Call for Random". It offers high quality random numbers derived from input data obtained by the OpenBSD specific getentropy() system call which is declared in <unistd.h> and must be implemented for each Newlib port externally. The arc4random() functions are used for example in LibreSSL and OpenSSH. Cygwin provides currently its own implementation of the arc4random family. Maybe it makes sense to use this getentropy() implementation: http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libcrypto/crypto/getentropy_win.c?rev=1.4&content-type=text/x-cvsweb-markup * libc/include/stdlib.h (arc4random): Declare if __BSD_VISIBLE. (arc4random_buf): Likewise. (arc4random_uniform): Likewise. * libc/include/sys/unistd.h (getentropy): Likewise. * libc/include/machine/_arc4random.h: New file. * libc/stdlib/arc4random.c: Likewise. * libc/stdlib/arc4random.h: Likewise. * libc/stdlib/arc4random_uniform.c: Likewise. * libc/stdlib/chacha_private.h: Likewise. * libc/sys/rtems/include/machine/_arc4random.h: Likewise. * libc/stdlib/Makefile.am (EXTENDED_SOURCES): Add arc4random.c and arc4random_uniform.c. * libc/stdlib/Makefile.in: Regenerate.
* Feature test macros overhaul: unistd.hYaakov Selkowitz2016-03-171-35/+41
| | | | | | | Throughout, use proper internal macros for functions, including those marked as target-specific. Use ATFILE for all *at functions. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Allow sysconf to return CPU cache informationCorinna Vinschen2015-08-291-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/sys/unistd.h (_SC_LEVEL*): Add cache-related variables as on Linux. * fhandler_proc.cc (format_proc_cpuinfo): Fetch cache information from new cache functions in sysconf.cc, get_cpu_cache_intel and get_cpu_cache_amd. * sysconf.cc (__nt_query_system): New local helper. (get_nproc_values): Utilize __nt_query_system on pre-Windows 7 systems. Use GetLogicalProcessorInformationEx otherwise to handle more than 64 CPUs. Only handle _SC_NPROCESSORS_CONF and _SC_NPROCESSORS_ONLN. (get_phys_pages): New helper to handle _SC_PHYS_PAGES. (cpuid2_cache_descriptor): New array to map Intel CPUID 2 descriptor values to cache type, cache size, associativity and linesize. (cpuid2_cache_desc_compar): Comparision function for bsearch over cpuid2_cache_descriptor. (get_cpu_cache_intel_cpuid2): New function to fetch cache info from Intel CPUID 2. (get_cpu_cache_intel_cpuid4): Ditto from Intel CPUID 4. (get_cpu_cache_intel): New function as CPU-specific entry point. (assoc): New array to map associativity values from AMD CPUID 0x80000006. (get_cpu_cache_amd): New function to fetch cache info from AMD CPUIDs 0x80000005 and 0x80000006. (get_cpu_cache): New function to fetch cache info. (sca): Call get_phys_pages if _SC_PHYS_PAGES is requested. Call get_cpu_cache for new _SC_* cache requests. (SC_MAX): Set to _SC_LEVEL4_CACHE_LINESIZE. (get_phys_pages(void)): Call get_phys_pages(int). * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * new-features.xml (ov-new2.3): Document sysconf cache addition. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* 2015-01-14 Joel Sherrill <joel.sherrill@oarcorp.com>Jeff Johnston2015-01-141-0/+3
| | | | * libc/include/sys/unistd.h [__BSD_VISIBLE]: Add issetugid() prototype.
* * libc/include/sys/unistd.h (sethostname): Declare ifCorinna Vinschen2014-10-271-0/+3
| | | | requested.
* headers: properly decorate attributesEric Blake2014-08-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found by: find -name '*.h' |xargs grep -i 'attribute.*(([a-z]' For an example of the type of bugs this causes, try compiling this valid C11 program (it's valid because 'noreturn' is reserved for use in the user namespace unless you include <stdnoreturn.h>): $ cat foo.c #define noreturn __attribute__((noreturn)) #include <stdlib.h> $ gcc -c -o foo.o -Wall foo.c In file included from /usr/include/stdlib.h:11:0, from foo.c:2: foo.c:1:18: error: expected ')' before '__attribute__' #define noreturn __attribute__((noreturn)) ^ /usr/include/stdlib.h:66:28: error: expected ',' or ';' before ')' token _VOID _EXFUN(abort,(_VOID) _ATTRIBUTE ((noreturn))); ^ * libc/machine/spu/spu_timer_internal.h: Decorate attribute names with __, for namespace safety. * libc/machine/xscale/machine/profile.h: Likewise. * libc/include/stdlib.h: Likewise. * libc/include/_ansi.h: Likewise. * libc/include/sys/unistd.h: Likewise. * libc/sys/linux/linuxthreads/libc-symbols.h: Likewise. * libc/sys/linux/linuxthreads/internals.h: Likewise. * libc/sys/linux/machine/i386/weakalias.h: Likewise. * libc/sys/linux/machine/i386/dl-procinfo.h: Likewise. * libc/sys/linux/machine/i386/dl-machine.h: Likewise. * libc/sys/linux/libc-symbols.h: Likewise. * libc/sys/linux/iconv/gconv_charset.h: Likewise. * libc/sys/linux/include/resolv.h: Likewise. * libc/sys/linux/sys/unistd.h: Likewise. * libc/sys/linux/dl/atomicity.h: Likewise. * libc/sys/linux/dl/dynamic-link.h: Likewise. * libc/sys/linux/dl/ldsodefs.h: Likewise.
* 2014-01-06 Sebastian Huber <sebastian.huber@embedded-brains.de>Jeff Johnston2014-01-061-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | * libc/include/sys/_default_fcntl.h (AT_FDCWD): Define according to POSIX. (AT_EACCESS): Likewise. (AT_SYMLINK_NOFOLLOW): Likewise. (AT_SYMLINK_FOLLOW): Likewise. (AT_REMOVEDIR): Likewise. (openat): Declare according to POSIX. * libc/include/stdio.h (renameat): Likewise. * libc/include/sys/stat.h (fchmodat): Likewise. (fstatat): Likewise. (mkdirat): Likewise. (mkfifoat): Likewise. (mknodat): Likewise. (utimensat): Likewise. (futimens): Likewise. * libc/include/sys/unistd.h (faccessat): Likewise. (fchownat): Likewise. (linkat): Likewise. (readlinkat): Likewise. (symlinkat): Likewise. (unlinkat): Likewise.
* 2013-11-22 Chirayu Desai <chirayudesai1@gmail.com>Joel Sherrill2013-11-221-3/+5
| | | | | | | | * libc/include/sys/unistd.h (readlink): Add restrict keyword. (readlinkat): Ditto. (swab): Ditto. * libc/sys/rdos/readlink.c (readlink): Ditto. * libc/string/swab.c (swab): Ditto.
* [AArch64] Provide ftruncate() and truncate() stubs.Marcus Shawcroft2013-11-181-1/+1
|
* [ARM] Provide ftruncate() and truncate() stubs.Marcus Shawcroft2013-11-181-1/+1
|
* * libc/include/sys/unistd.h (MAXPATHLEN): Delete.Corinna Vinschen2013-10-181-4/+0
| | | | | | * libc/include/sys/param.h (MAXPATHLEN): Define. * libc/sys/rtems/sys/param.h (MAXPATHLEN): Likewise. * libc/unix/getcwd.c: Include <sys/param.h> for MAXPATHLEN.
* Allow building of Cygwin using Mingw64 SDK headers:Corinna Vinschen2012-07-061-1/+1
| | | | | | | | * libc/include/sys/time.h: Drop _WINSOCK_H guard. Just use _TIMEVAL_DEFINED instead. * libc/include/sys/types.h: Check for _WINSOCKAPI_ along with _WINSOCK_H. * libc/include/sys/unistd.h: Ditto.
* * libc/include/sys/unistd.h [__CYGWIN__] (get_current_dir_name):Yaakov Selkowitz2012-01-091-0/+3
| | | | Declare.
* * libc/include/process.h: Remove exec family function declarations.Corinna Vinschen2011-08-191-0/+3
| | | | | Add comment. * libc/include/sys/unistd.h (execlpe): Declare for Cygwin.
* * libc/include/sys/unistd.h (_CS_XBS5_WIDTH_RESTRICTED_ENVS): Define.Yaakov Selkowitz2011-07-201-1/+2
| | | | (_CS_V6_ENV): Fix definition.
* * libc/include/sys/unistd.h: Declare getsid, setegid, seteuid for RTEMS.Corinna Vinschen2010-10-081-2/+2
|
* * libc/include/sys/_default_fcntl.h (O_CLOEXEC): Define as _FNOINHERIT.Corinna Vinschen2010-01-141-0/+4
| | | | | | (F_DUPFD_CLOEXEC): Define for Cygwin. * libc/include/sys/unistd.h (dup3): Define for Cygwin. (pipe2): Ditto.
* Fix getsubopt declaration.Eric Blake2009-12-221-3/+0
| | | | | * libc/include/sys/unistd.h (suboptarg, getsubopt): Move... * libc/include/stdlib.h: ...here, to match POSIX for getsubopt.
* 2009-12-17 Jerker Back <jerker.back@gmail.com>Jeff Johnston2009-12-171-7/+7
| | | | | | | | | | | | | | | * libc/include/_ansi.h: Add new _EXFNPTR macro for using with function pointer arguments. * libc/iconv/lib/conv.h: Use _EXFNPTR rather than _EXPARM macro. * libc/iconv/lib/ucsconv.h: Ditto. * libc/include/stdlib.h: Use new _EXFNPTR macro for function pointers. * libc/include/sys/reent.h: Ditto. * libc/include/sys/unistd.h: Ditto. * libc/search/bsearch.c: Ditto. * libc/stdio/fseek.c: Ditto. * libc/stdio64/fseeko64.c: Ditto. * libc/stdlib/atexit.c: Ditto. * libc/stdlib/on_exit.c: Ditto.
* Fix some *at declarations.Eric Blake2009-12-081-0/+4
| | | | | | | * libc/include/stdio.h (symlinkat): Move this... * libc/include/sys/_default_fcntl.h (unlinkat): ...and this... * libc/include/sys/unistd.h (symlinkat, unlinkat): ...here, to match POSIX.
* * libc/include/sys/unistd.h: Add _PC*, _CS*, and _SC* constantsEric Blake2009-10-141-35/+65
| | | | new to POSIX 2008.
* * libc/include/sys/unistd.h (execvpe, fexecve) [__CYGWIN__]:Eric Blake2009-09-261-0/+2
| | | | Add declarations.
* * libc/include/sys/unistd.h (eaccess, euidaccess) [__CYGWIN__]:Eric Blake2009-09-251-0/+2
| | | | Add declarations.
* * libc/include/sys/unistd.h: Declare getpagesize as returning POSIX-mandatedChristopher Faylor2009-09-191-1/+1
| | | | | int. * libc/sys/linux/sys/unistd.h: Ditto.
* 2008-10-16 Joel Sherrill <joel.sherrill@oarcorp.com>Jeff Johnston2008-10-161-3/+1
| | | | * libc/include/sys/unistd.h: RTEMS follows standard for sync().
* 2008-10-15 Joel Sherrill <joel.sherrill@oarcorp.com>Jeff Johnston2008-10-151-1/+1
| | | | * libc/include/sys/unistd.h: Enable ttyname_r() for RTEMS.
* * libc/include/stdio.h (renameat): Declare for Cygwin.Corinna Vinschen2008-04-231-1/+13
| | | | | | | | | | | | | | | | | | | | | | (symlinkat): Ditto. * libc/include/sys/unistd.h (readlink): Align declaration to POSIX. (faccessat): Declare for Cygwin. (fchownat): Ditto. (linkat): Ditto. (readlinkat): Ditto. * libc/include/sys/_default_fcntl.h (AT_FDCWD): Define for Cygwin. (AT_EACCESS): Ditto. (AT_SYMLINK_NOFOLLOW): Ditto. (AT_SYMLINK_FOLLOW): Ditto. (AT_REMOVEDIR): Ditto. (futimesat): Declare for Cygwin. (openat): Ditto. (unlinkat): Ditto. * libc/include/sys/stat.h (fchmodat): Ditto. (fstatat): Ditto. (mkdirat): Ditto. (mkfifoat): Ditto. (mknodat): Ditto.
* * libc/include/sys/unistd.h: Declare lockf(2) and define lockfCorinna Vinschen2008-03-271-1/+1
| | | | constants when building for Cygwin.
* 2008-01-03 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2008-01-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make isatty syscall handling consistent with other newlib syscalls. * libc/include/_syslist.h: Add _isatty. * libc/include/reent.h: Add _isatty_r. * libc/include/sys/unistd.h: Add _isatty. * libc/posix/Makefile.am: Add new _isatty.c file. * libc/posix/Makefile.in: Regenerated. * libc/posix/_isatty.c: New file. * libc/posix/isatty.c: Changed to call _isatty(). * libc/reent/Makefile.am: Add new isattyr.c file. * libc/reent/Makefile.in: Regenerated. * libc/reent/isattyr.c: New file. * libc/stdio/freopen.c: Changed to call _isatty_r(). * libc/stdio/makebuf.c: Ditto. * libc/sys/a29khif/_isatty.S: Change isatty to _isatty. * libc/sys/arc/isatty.c: Ditto. * libc/sys/arm/syscalls.c: Ditto. * libc/sys/d10v/syscalls.c: Ditto. * libc/sys/h8300hms/syscalls.c: Ditto. * libc/sys/h8500hms/syscalls.c: Ditto. * libc/sys/linux/Makefile.am: Add new isatty.c file. * libc/sys/linux/Makefile.in: Regenerated. * libc/sys/linux/isatty.c: New file. * libc/syscalls/Makefile.am: Add new sysisatty.c file. * libc/syscalls/Makefile.in: Regenerated. * libc/syscalls/sysisatty.c: New file.
* * libc/include/sys/unistd.h: Remove Cygwin definition of MAXPATHLEN.Corinna Vinschen2007-11-081-4/+1
|
* 2007-06-20 Patrick Mansfield <patmans@us.ibm.com>Jeff Johnston2007-06-201-4/+13
| | | | | * libc/include/sys/unistd.h[__SPU__]: Add lockf prototype and related defines; expose ftruncate, truncate and sync prototypes.
* 2007-06-20 Patrick Mansfield <patmans@us.ibm.com>Jeff Johnston2007-06-201-1/+1
| | | | | | * libc/include/sys/unistd.h[__SPU__]: Make fchdir prototype visible. * libc/include/sys/stat.h[__SPU__]: Make mknod and lstat prototypes visible.
* 2007-06-13 Patrick Mansfield <patmans@us.ibm.com>Jeff Johnston2007-06-131-1/+2
| | | | | | | | | | * libc/include/sys/features.h: Define _POSIX_TIMERS for spu. * libc/include/sys/unistd.h: Change usleep prototype to Posix form and move outside of OS flag checks. * libc/machine/spu/Makefile.am: Add sleep and usleep. * libc/machine/spu/Makefile.in: Regenerate. * libc/machine/spu/sleep.c: Copy libc/posix/sleep.c. * libc/machine/spu/usleep.c: Copy libc/posix/usleep.c.
* * libc/include/sys/unistd.h: Declare confstr for Cygwin.Corinna Vinschen2007-06-111-0/+44
| | | | Define confstr constants for Cygwin. Add comment.
* * libc/include/sys/features.h: Add definition of all supportedCorinna Vinschen2007-02-071-75/+132
| | | | | | | | | _POSIX_xxx values for Cygwin. * libc/include/sys/types.h (pthread_rwlock_t): Omit definition on Cygwin. (pthread_rwlockattr_t): Ditto. * libc/include/sys/unistd.h: Define all _SC_xxx values as required by SUSv3. Unify formatting.
* * libc/include/sys/unistd.h (_SC_STREAM_MAX): Define on Cygwin.Corinna Vinschen2006-11-071-1/+6
| | | | | | (_PC_FILESIZEBITS): Add definition. (_PC_2_SYMLINKS): Ditto. (_PC_SYMLINK_MAX): Ditto.
* 2005-11-03 Shaun Jackman <sjackman@gmail.com>Jeff Johnston2005-11-031-1/+1
| | | | | | | | | * libc/include/sys/unistd.h (readlink, symlink): Provide these prototypes by default. * libc/sys/linux/include/unistd.h (readlink): Remove this prototype. * libc/sys/linux/sys/unistd.h (readlink, symlink): New prototypes.
* * libc/include/sys/unistd.h: Define getpeereid for Cygwin.Corinna Vinschen2005-02-231-0/+3
|
* * libc/include/sys/unistd.h: Define fdatasync also for Cygwin.Corinna Vinschen2005-02-221-2/+0
|
* 2004-08-23 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston2004-08-231-1/+1
| | | | | * libc/include/sys/unistd.h (getpass): Change prototype to use const instead of __const.
* * libc/include/sys/unistd.h (ttyname_r): Add missing comma.Corinna Vinschen2004-04-201-1/+1
|
* * libc/include/sys/unistd.h (ttyname_r): Add declaration for Cygwin.Corinna Vinschen2004-04-201-0/+3
|
* * libc/include/sys/unistd.h (sync): Define void on Cygwin accordingCorinna Vinschen2004-04-101-0/+4
| | | | to SUSv3.
* * libc/include/sys/features.h: Add _POSIX_TIMERS define for __CYGWIN__.Christopher Faylor2004-02-091-0/+2
| | | | | | * libc/include/sys/reent.h (__getreent): Protect against possibly being defined. * libc/include/sys/unistd.h (fdatasync): Don't define for __CYGWIN__.
* 2004-01-08 Joel Sherrill <joel@oarcorp.com>Jeff Johnston2004-01-081-0/+1
| | | | | | | | | | * libc/sys/rtems/sys/queue.h: New file. * libc/include/sys/signal.h: Reflect renumbering of signals to fit into 32-bit mask. * libc/include/sys/unistd.h: Add fdatasync() prototype. * libc/sys/rtems/crt0.c: Add more symbols which may be implicitly required. In particular, add the reentrant variants of libc calls. * libc/sys/rtems/sys/dirent.h: Add scandir() prototype.
* 2003-11-26 Corinna Vinschen <corinna@vinschen.de>Jeff Johnston2003-11-261-0/+2
| | | | | | * libc/include/fcntl.h: Declare syscalls only when building newlib. * libc/include/unistd.h: Ditto. * libc/include/stat.h: Ditto. Also declare struct stat64.
* 2003-11-18 Corinna Vinschen <corinna@vinschen.de>Jeff Johnston2003-11-181-0/+3
| | | | | | * libc/include/sys/fcntl.h: Declare _open64. * libc/include/sys/stat.h: Declare _fstat64. * libc/include/sys/unistd.h: Declare _lseek64.
* * libc/include/sys/unistd.h: Declare function daemon for Cygwin.Corinna Vinschen2003-09-101-0/+3
|