glibc/time/sys/time.h

164 lines
6.0 KiB
C
Raw Normal View History

Mon Feb 26 10:22:30 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * sysdeps/unix/dirstream.h: Rewritten. * sysdeps/unix/readdir.c: Rewritten. * sysdeps/unix/telldir.c: Rewritten. * sysdeps/unix/closedir.c: Use <...> instead of "..." for dirstream.h. Remove __ from DIR struct member names. * sysdeps/unix/dirfd.c: Likewise. * sysdeps/unix/seekdir.c: Likewise. * sysdeps/unix/rewinddir.c: Likewise. * sysdeps/unix/opendir.c: Likewise. Don't allocate extra space after DIR structure. * sysdeps/stub/direct.h: File removed. * sysdeps/unix/bsd/bsd4.4/direct.h: File removed. * sysdeps/unix/bsd/direct.h: File removed. * sysdeps/unix/common/direct.h: File removed. * sysdeps/unix/sysv/irix4/direct.h: File removed. * sysdeps/unix/sysv/isc3/direct.h: File removed. * sysdeps/unix/sysv/sco3.2.4/direct.h: File removed. * sysdeps/unix/sysv/sysv4/solaris2/direct.h: File removed. * sysdeps/unix/common/direntry.h: New file. * sysdeps/unix/bsd/direntry.h: New file. * sysdeps/unix/bsd/bsd4.4/direntry.h: New file. * sysdeps/unix/sysv/direntry.h: New file. * sysdeps/stub/direntry.h: New file. * dirent/dirent.h (struct dirent): Type removed. Include <direntry.h> to define it. (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New macros. * dirent/Makefile (headers): Add direntry.h. (distribute): Remove direct.h. * sysdeps/posix/getcwd.c: Use new macros instead of d_namlen. * dirent/scandir.c: Likewise. * io/fts.c (fts_build): Likewise. * io/ftw.c (ftw_dir): Likewise. * sysdeps/posix/ttyname.c: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: New file. * sysdeps/mach/hurd/profil.c (MAX_PC_SAMPLES): New macro. (collector_timeout): New static variable. (update_waiter): Actually call __task_enable_pc_sampling. Set collector_timeout based on the `tick' count returned. (profile_waiter): Use MAX_PC_SAMPLES. Set nsamples before RPC. Use collector_timeout in __mach_msg call. * gmon/Makefile (noprof): New variable containing mcount. Append profil unless it is in $(unix-syscalls). (mcount.po): Use $(noprof) for list of targets in this rule. * libc-symbols.h: Define _LIBC before #include <config.h>. Sun Feb 25 12:29:23 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * config.h.in [_LIBC] (HAVE_STRERROR): Define it. Protect 2nd page of #undef's for generator programs with #ifndef _LIBC. * time/zic.c, time/zdump.c, time/private.h: Updated from ADO's latest. Fri Feb 9 12:40:19 1996 Brendan Kehoe <brendan@lisa.cygnus.com> * libio/cleanup.c (_IO_cleanup_registration_needed) [!_G_HAVE_ATEXIT]: Init to NULL. * libio/filedoalloc.c (_IO_cleanup_registration_needed): Remove decl. Thu Feb 8 08:12:50 1996 Brendan Kehoe <brendan@cygnus.com> * libio/filedoalloc.c (_IO_cleanup_registration_needed): Revert previous change, since cleanup.c only defines it if _G_HAVE_ATEXIT. Wed Feb 7 15:10:17 1996 Brendan Kehoe <brendan@lisa.cygnus.com> * libio/filedoalloc.c (_IO_cleanup_registration_needed): Declare as extern. Sat Feb 24 11:34:13 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * sysdeps/i386/memcmp.S: Fix argument %esp offsets. * time/sys/time.h (timeradd, timersub): New macros; BSD has these.
1996-02-27 01:55:03 +01:00
/* Copyright (C) 1991, 92, 93, 94, 96 Free Software Foundation, Inc.
1995-02-18 02:27:10 +01:00
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
1995-02-18 02:27:10 +01:00
Cambridge, MA 02139, USA. */
#ifndef _SYS_TIME_H
#define _SYS_TIME_H 1
#include <features.h>
#include <time.h>
update from main archive 961101 Sat Nov 2 01:48:47 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/errnos.h: Move declaration of errno and __errno_location to correct position. Thu Oct 31 22:51:25 1996 Ulrich Drepper <drepper@cygnus.com> * Makefile (distribute): Add rellns-sh. * rellns-sh: New file. * Makerules (make-link): Use rellns-sh. * time/Makefile ($(installed-localtime-file)): Likewise. Thu Oct 31 11:33:01 1996 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile ($objpfx)ldd) Substitute $(version) for @VERSION@. (distribute): Add ldd.bash.in. * elf/ldd.sh.in: Process --help and --version parameter. Correct comments. * elf/ldd.bash.in: New file. * stdlib/stdlib.h: Add prototype for clearenv. * sysdeps/generic/setenv.c: Add implementation of clearenv. (setenv): Handle __environ == NULL correctly. * sysdeps/stub/setenv.c: Add stub definition for unsetenv and clearenv. * sysdeps/generic/putenv.c: Correct layout to fit in libit. * sysdeps/generic/setenv.c: Likewise. * stdlib/strtol.h: Likewise. * time/sys/time.h: Define __need_timeval and include <timebits.h>. Remove definition of struct timeval. * sysdeps/stub/timebits.h [__need_timeval]: Define struct timeval using `time_t' for members. * sysdeps/unix/sysv/linux/timebits.h [__need_timeval]: Likewise. * sysdeps/unix/sysv/linux/alpha/timebits.h: New file. Same as old Linux specific version. * string/argz.h: Use __const in definitions. * inet/herrno.c: Don't define __h_errno, only h_errno otherwise the __syscall_error defined. TRACE_MODE. Craig Metz. arithmetic. buggy and more competent people work on a usable version which is distributed separately. `finitel'. better message if it is not available. whether read failed. PSEUDO_END macro. Especially on the currently supported ELF systems the nlist function comes with the libelf. "$(i18ndir)/charmaps". net/if_arp.h, and net/route.h. version. EXTERN_PARSER is defined. set errno (to ENOMEM). nothing is found. This guarantees all subsequent calls behave the same. the file even if no `era's are specified. pointers. _llseek to _llseek (not llseek). Initialize `result'. end_alt_digits. __libc_force_cancel_wrapper when compiling reentrant version. a weak alias. make tcdrain a weak alias. lseek, open, read, and write to have __libc_ prefix and make old names a weak alias. to fpathconf. __libc_setlocale_lock. ld.so.preload. Suggested by David Engel <david@elo.ods.com>. on the same device as the password file. variable. to lock when passing it to __libc_lock_init macro. sysdep.h to the top outside of #ifndef PIC. Don't include errnos.h. Use the ENTRY macro. 9th field. and sys/vt.h. `_dl_start' so that linking fails if this file should ever be used in ld.so. RMS' last standard revision. (sysdep_headers): Remove sys/sysinfo.h. match files in the sysdeps hierachy (welcome back, sys/syscall.h!). categories which succeeded to load after a wrong or missing data file was observed. _IO_flockfile and _IO_funlockfile resp. all three versions of the math function. non-trivial inline functions. rpath-link so that running the check finds the new library. daylight saving, timezone by time zone. syscall_error handler for reentrant libc. warning. _IO_getc_unlocked. in version information banner. clearerr_u, feof_u, ferror_u, fputc_u, getc_u, getchar_u, iofflush_u, putc_u, putchar_u, ioflockfile. using __errno_location function. syscall_error handler for reentrant libc. definition of function itself. funlockfile. _malloc_loc. but _POSIX_THREAD_DESTRUCTOR_ITERATIONS. Add macro `errno' to get thread specific variable. __errno_location function. * malloc/free.c (free): __lib_malloc_lock -> __libc_malloc_lock. case, so don't prepend uppercase `ISO' for only numeric arg. call to __libc_lock_lock. sys/sysmacros.h. Reported by Curtiss <1CMC3466@IBM.MTSAC.EDU>. stamp file. generating stamp file. implementation. `decimal' char is 0. noexpr to "^[nN]"; this conforms to POSIX.2. conform to POSIX.2. mon_grouping, int_frac_digits, frac_digits, p_cs_precedes, p_sep_by_space, n_cs_precedes, n_sep_by_space, p_sign_posn, and n_sign_posn to CHAR_MAX, as required by the POSIX Standard. variable. this changes the global state for `localtime' and `gmtime'. Use `__localtime_r'/`__gmtime_r' instead. state. getutid_r() fails with ESRCH. Reported by Miquel van Smoorenburg. for "Jensen" so _bus_base() returns 0 on that platform. Use _bus_base_sparse() to determine base address of sparse memory. are now in $P/stdio-common.pot. script at run time, not configure time. warning. sorted. inet_net_pton, inet_net. value of sprintf. functions instead of BSD `b*' functions. $(objpfx)/mach-syscalls.mk. <marcus@sysc.pdx.edu> for the patch.) before returning. Reported by Miles Bader. __BEGIN_DECLS/__END_DECLS up so ntohl() et al are bracketed as well. This is not a gross hack, after all---for compatibility, getlogin() really should check fd 0 only and not try to base its operation on the controlling tty. change utmp_data from static to auto. _IO_file_flags. It's the same as _flags. call is only a stub. Mikasa. pointer as __const. segfault when called with an N that is not a multiple of four and src[N-1]=='\0'. try again with SOCK_STREAM (the Linux syslogd uses a socket of the latter type). terminator as a record-delimiter. If __send(LogFile) fails, `getutline_r'. `setutline_r'. of `vscanf'. name a weak alias. typo. initialized in init-first.c. Some actions in the libc work different when libc is static or dynamic. `__libc_is_static' variable to determine whether call to `personality' and `setfpucw' is necessary. When done set variable to +-1 depending on library type. `__libc_enable_secure' instead of calling `get{,e}{g,u}id()' to determine whether it's a SET[UG]ID program. (open_file): New function, contents mostly from __open. LD_TRACE_LOADED_OBJECTS is set. n)' equivalent to `strncpy (d, s, n), d += strnlen (d, n)'. from the USA any software that even makes it easy to drop in an encryption module of foreign origin. old code would have failed on a big-endian 64-bit architecture). Remove gratitous parentheses around return expressions. not int. ustatbits.h. alphabetically correct place. Mention ustat. record always gets appended at end of file (wtmp is a log file, after all). Set ut_type to DEAD_PROCESS if name is empty. ut_line matches and type is either USER_PROCESS or LOGIN_PROCESS. avoid duplicate declarations. word extends right up to rmargin. point_col ssize_t. to fiddle __put_limit in conjunction with __linebuf_active. of, not the ones he is _not_ a member of. instead of a local function. The latter are difficult to debug and slow to execute on certain platforms. place of sizeof (dev). The size of a literal string includes the NUL byte. entry. Return 1 on error, not -1. shift amount for Jensen must be 5 not 4. for send and connect syscalls. signed<->unsigned warnings. variable name, so new a libc with new requirements won't fail to notice an insufficient Linux version. PENDIN, NOFLSH): Undefine these at start if they are already defined to avoid collision with termbits.h. error is 0. The "placeholder" entries recently added to memcpy for possibly overlapping strings. instead of weak_symbol (NAME) after the defn. necessary using current implementation of memcpy, but...). Move struct timespec defn outside [_TIME_H] so it can be got with #define __need_timespec. __connect instead of connect to avoid name-space collisions (e.g., with psgetty). function ctype_is_charmap to ctype_is_charconv. charconv. charconv. lables according to this. warnings. actually do something. sysdeps/unix/sysv/linux/m68k/init-first.h, sysdeps/unix/sysv/linux/i386/init-first.h: New files. init-first.h to make abstract machine dependent parts of typo/extraneous whitespace. check-for-pending signals code, release _hurd_siglock before jumping to deliver_pending. size_t. soname of a loaded object, use that object. if libnss_dns.so module for DNS name lookup in NSS service. guessing to not assume p_vaddr of first load cmd is zero. only for ?s, not for *s. Fix from Chet Ramey. about currently used character set. name `MAX_IOVEC'. Instead use standard name `UIO_MAXIOV'. (xdrrec_getlong), sunrpc/xdr_mem.c (xdrmem_getlong): Make sure appropriate sign-extension is performed on machines with sizeof(long) > 4. sizeof(int)<sizeof(long), we need to go through a temporary variable. in efect. volatile to avoid "might get clobbered by longjmp" warning. unless _LOOSE_KERNEL_NAMES is in effect (which, with high probability is a sure loser). sysdeps/unix/sysv/linux/alpha/brk.S, sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S, sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S, sysdeps/unix/sysv/linux/alpha/llseek.S, sysdeps/unix/sysv/linux/alpha/sigsuspend.S, sysdeps/unix/sysv/linux/alpha/syscall.S: Rename syscall_error to __syscall_error to avoid intruding application name space. sysdeps/unix/geteuid.S, sysdeps/unix/getppid.S, sysdeps/unix/execve.S, sysdeps/unix/fork.S, sysdeps/unix/syscall.S: Terminate syscall with PSEUDO_END. (PSEUDO_END): Rename END() to PSEUDO_END(). to PSEUDO_END to improve branch-prediction. Include .frame directive to make syscalls debugabble. sysdeps/unix/sysv/linux/alpha/brk.S: Use ldiq instead of ldi since latter is illegal under DEC Unix. as well. EWOULDBLOCK -> EAGAIN mapping was unnecessary since EWOULDBLOCK==EAGAIN under DEC Unix and Linux/Alpha). address register in the .frame directive. avoid RPC definitions of INADDR_LOOPBACK and/or MAXHOSTNAMELEN. compilable under c++. as unsigned long, not as int (to avoid incorrect int->long promotion).
1996-11-02 02:28:01 +01:00
#define __need_timeval
#include <timebits.h>
1995-02-18 02:27:10 +01:00
update from main archive 961101 Sat Nov 2 01:48:47 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/errnos.h: Move declaration of errno and __errno_location to correct position. Thu Oct 31 22:51:25 1996 Ulrich Drepper <drepper@cygnus.com> * Makefile (distribute): Add rellns-sh. * rellns-sh: New file. * Makerules (make-link): Use rellns-sh. * time/Makefile ($(installed-localtime-file)): Likewise. Thu Oct 31 11:33:01 1996 Ulrich Drepper <drepper@cygnus.com> * elf/Makefile ($objpfx)ldd) Substitute $(version) for @VERSION@. (distribute): Add ldd.bash.in. * elf/ldd.sh.in: Process --help and --version parameter. Correct comments. * elf/ldd.bash.in: New file. * stdlib/stdlib.h: Add prototype for clearenv. * sysdeps/generic/setenv.c: Add implementation of clearenv. (setenv): Handle __environ == NULL correctly. * sysdeps/stub/setenv.c: Add stub definition for unsetenv and clearenv. * sysdeps/generic/putenv.c: Correct layout to fit in libit. * sysdeps/generic/setenv.c: Likewise. * stdlib/strtol.h: Likewise. * time/sys/time.h: Define __need_timeval and include <timebits.h>. Remove definition of struct timeval. * sysdeps/stub/timebits.h [__need_timeval]: Define struct timeval using `time_t' for members. * sysdeps/unix/sysv/linux/timebits.h [__need_timeval]: Likewise. * sysdeps/unix/sysv/linux/alpha/timebits.h: New file. Same as old Linux specific version. * string/argz.h: Use __const in definitions. * inet/herrno.c: Don't define __h_errno, only h_errno otherwise the __syscall_error defined. TRACE_MODE. Craig Metz. arithmetic. buggy and more competent people work on a usable version which is distributed separately. `finitel'. better message if it is not available. whether read failed. PSEUDO_END macro. Especially on the currently supported ELF systems the nlist function comes with the libelf. "$(i18ndir)/charmaps". net/if_arp.h, and net/route.h. version. EXTERN_PARSER is defined. set errno (to ENOMEM). nothing is found. This guarantees all subsequent calls behave the same. the file even if no `era's are specified. pointers. _llseek to _llseek (not llseek). Initialize `result'. end_alt_digits. __libc_force_cancel_wrapper when compiling reentrant version. a weak alias. make tcdrain a weak alias. lseek, open, read, and write to have __libc_ prefix and make old names a weak alias. to fpathconf. __libc_setlocale_lock. ld.so.preload. Suggested by David Engel <david@elo.ods.com>. on the same device as the password file. variable. to lock when passing it to __libc_lock_init macro. sysdep.h to the top outside of #ifndef PIC. Don't include errnos.h. Use the ENTRY macro. 9th field. and sys/vt.h. `_dl_start' so that linking fails if this file should ever be used in ld.so. RMS' last standard revision. (sysdep_headers): Remove sys/sysinfo.h. match files in the sysdeps hierachy (welcome back, sys/syscall.h!). categories which succeeded to load after a wrong or missing data file was observed. _IO_flockfile and _IO_funlockfile resp. all three versions of the math function. non-trivial inline functions. rpath-link so that running the check finds the new library. daylight saving, timezone by time zone. syscall_error handler for reentrant libc. warning. _IO_getc_unlocked. in version information banner. clearerr_u, feof_u, ferror_u, fputc_u, getc_u, getchar_u, iofflush_u, putc_u, putchar_u, ioflockfile. using __errno_location function. syscall_error handler for reentrant libc. definition of function itself. funlockfile. _malloc_loc. but _POSIX_THREAD_DESTRUCTOR_ITERATIONS. Add macro `errno' to get thread specific variable. __errno_location function. * malloc/free.c (free): __lib_malloc_lock -> __libc_malloc_lock. case, so don't prepend uppercase `ISO' for only numeric arg. call to __libc_lock_lock. sys/sysmacros.h. Reported by Curtiss <1CMC3466@IBM.MTSAC.EDU>. stamp file. generating stamp file. implementation. `decimal' char is 0. noexpr to "^[nN]"; this conforms to POSIX.2. conform to POSIX.2. mon_grouping, int_frac_digits, frac_digits, p_cs_precedes, p_sep_by_space, n_cs_precedes, n_sep_by_space, p_sign_posn, and n_sign_posn to CHAR_MAX, as required by the POSIX Standard. variable. this changes the global state for `localtime' and `gmtime'. Use `__localtime_r'/`__gmtime_r' instead. state. getutid_r() fails with ESRCH. Reported by Miquel van Smoorenburg. for "Jensen" so _bus_base() returns 0 on that platform. Use _bus_base_sparse() to determine base address of sparse memory. are now in $P/stdio-common.pot. script at run time, not configure time. warning. sorted. inet_net_pton, inet_net. value of sprintf. functions instead of BSD `b*' functions. $(objpfx)/mach-syscalls.mk. <marcus@sysc.pdx.edu> for the patch.) before returning. Reported by Miles Bader. __BEGIN_DECLS/__END_DECLS up so ntohl() et al are bracketed as well. This is not a gross hack, after all---for compatibility, getlogin() really should check fd 0 only and not try to base its operation on the controlling tty. change utmp_data from static to auto. _IO_file_flags. It's the same as _flags. call is only a stub. Mikasa. pointer as __const. segfault when called with an N that is not a multiple of four and src[N-1]=='\0'. try again with SOCK_STREAM (the Linux syslogd uses a socket of the latter type). terminator as a record-delimiter. If __send(LogFile) fails, `getutline_r'. `setutline_r'. of `vscanf'. name a weak alias. typo. initialized in init-first.c. Some actions in the libc work different when libc is static or dynamic. `__libc_is_static' variable to determine whether call to `personality' and `setfpucw' is necessary. When done set variable to +-1 depending on library type. `__libc_enable_secure' instead of calling `get{,e}{g,u}id()' to determine whether it's a SET[UG]ID program. (open_file): New function, contents mostly from __open. LD_TRACE_LOADED_OBJECTS is set. n)' equivalent to `strncpy (d, s, n), d += strnlen (d, n)'. from the USA any software that even makes it easy to drop in an encryption module of foreign origin. old code would have failed on a big-endian 64-bit architecture). Remove gratitous parentheses around return expressions. not int. ustatbits.h. alphabetically correct place. Mention ustat. record always gets appended at end of file (wtmp is a log file, after all). Set ut_type to DEAD_PROCESS if name is empty. ut_line matches and type is either USER_PROCESS or LOGIN_PROCESS. avoid duplicate declarations. word extends right up to rmargin. point_col ssize_t. to fiddle __put_limit in conjunction with __linebuf_active. of, not the ones he is _not_ a member of. instead of a local function. The latter are difficult to debug and slow to execute on certain platforms. place of sizeof (dev). The size of a literal string includes the NUL byte. entry. Return 1 on error, not -1. shift amount for Jensen must be 5 not 4. for send and connect syscalls. signed<->unsigned warnings. variable name, so new a libc with new requirements won't fail to notice an insufficient Linux version. PENDIN, NOFLSH): Undefine these at start if they are already defined to avoid collision with termbits.h. error is 0. The "placeholder" entries recently added to memcpy for possibly overlapping strings. instead of weak_symbol (NAME) after the defn. necessary using current implementation of memcpy, but...). Move struct timespec defn outside [_TIME_H] so it can be got with #define __need_timespec. __connect instead of connect to avoid name-space collisions (e.g., with psgetty). function ctype_is_charmap to ctype_is_charconv. charconv. charconv. lables according to this. warnings. actually do something. sysdeps/unix/sysv/linux/m68k/init-first.h, sysdeps/unix/sysv/linux/i386/init-first.h: New files. init-first.h to make abstract machine dependent parts of typo/extraneous whitespace. check-for-pending signals code, release _hurd_siglock before jumping to deliver_pending. size_t. soname of a loaded object, use that object. if libnss_dns.so module for DNS name lookup in NSS service. guessing to not assume p_vaddr of first load cmd is zero. only for ?s, not for *s. Fix from Chet Ramey. about currently used character set. name `MAX_IOVEC'. Instead use standard name `UIO_MAXIOV'. (xdrrec_getlong), sunrpc/xdr_mem.c (xdrmem_getlong): Make sure appropriate sign-extension is performed on machines with sizeof(long) > 4. sizeof(int)<sizeof(long), we need to go through a temporary variable. in efect. volatile to avoid "might get clobbered by longjmp" warning. unless _LOOSE_KERNEL_NAMES is in effect (which, with high probability is a sure loser). sysdeps/unix/sysv/linux/alpha/brk.S, sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S, sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S, sysdeps/unix/sysv/linux/alpha/llseek.S, sysdeps/unix/sysv/linux/alpha/sigsuspend.S, sysdeps/unix/sysv/linux/alpha/syscall.S: Rename syscall_error to __syscall_error to avoid intruding application name space. sysdeps/unix/geteuid.S, sysdeps/unix/getppid.S, sysdeps/unix/execve.S, sysdeps/unix/fork.S, sysdeps/unix/syscall.S: Terminate syscall with PSEUDO_END. (PSEUDO_END): Rename END() to PSEUDO_END(). to PSEUDO_END to improve branch-prediction. Include .frame directive to make syscalls debugabble. sysdeps/unix/sysv/linux/alpha/brk.S: Use ldiq instead of ldi since latter is illegal under DEC Unix. as well. EWOULDBLOCK -> EAGAIN mapping was unnecessary since EWOULDBLOCK==EAGAIN under DEC Unix and Linux/Alpha). address register in the .frame directive. avoid RPC definitions of INADDR_LOOPBACK and/or MAXHOSTNAMELEN. compilable under c++. as unsigned long, not as int (to avoid incorrect int->long promotion).
1996-11-02 02:28:01 +01:00
__BEGIN_DECLS
1995-02-18 02:27:10 +01:00
/* Macros for converting between `struct timeval' and `struct timespec'. */
#define TIMEVAL_TO_TIMESPEC(tv, ts) { \
(ts)->tv_sec = (tv)->tv_sec; \
(ts)->tv_nsec = (tv)->tv_usec * 1000; \
1995-02-18 02:27:10 +01:00
}
#define TIMESPEC_TO_TIMEVAL(tv, ts) { \
(tv)->tv_sec = (ts)->tv_sec; \
(tv)->tv_usec = (ts)->tv_nsec / 1000; \
1995-02-18 02:27:10 +01:00
}
/* Structure crudely representing a timezone.
This is obsolete and should never be used. */
struct timezone
{
int tz_minuteswest; /* Minutes west of GMT. */
int tz_dsttime; /* Nonzero if DST is ever in effect. */
};
/* Get the current time of day and timezone information,
putting it into *TV and *TZ. If TZ is NULL, *TZ is not filled.
Returns 0 on success, -1 on errors.
NOTE: This form of timezone information is obsolete.
Use the functions and variables declared in <time.h> instead. */
extern int __gettimeofday __P ((struct timeval *__tv,
struct timezone *__tz));
extern int gettimeofday __P ((struct timeval *__tv,
struct timezone *__tz));
/* Set the current time of day and timezone information.
This call is restricted to the super-user. */
extern int __settimeofday __P ((__const struct timeval *__tv,
__const struct timezone *__tz));
extern int settimeofday __P ((__const struct timeval *__tv,
__const struct timezone *__tz));
/* Adjust the current time of day by the amount in DELTA.
If OLDDELTA is not NULL, it is filled in with the amount
of time adjustment remaining to be done from the last `adjtime' call.
This call is restricted to the super-user. */
extern int __adjtime __P ((__const struct timeval *__delta,
struct timeval *__olddelta));
extern int adjtime __P ((__const struct timeval *__delta,
struct timeval *__olddelta));
/* Values for the first argument to `getitimer' and `setitimer'. */
enum __itimer_which
{
/* Timers run in real time. */
ITIMER_REAL = 0,
/* Timers run only when the process is executing. */
ITIMER_VIRTUAL = 1,
/* Timers run when the process is executing and when
the system is executing on behalf of the process. */
ITIMER_PROF = 2
};
/* Type of the second argument to `getitimer' and
the second and third arguments `setitimer'. */
struct itimerval
{
/* Value to put into `it_value' when the timer expires. */
struct timeval it_interval;
/* Time to the next timer expiration. */
struct timeval it_value;
};
/* Set *VALUE to the current setting of timer WHICH.
Return 0 on success, -1 on errors. */
extern int __getitimer __P ((enum __itimer_which __which,
struct itimerval *__value));
extern int getitimer __P ((enum __itimer_which __which,
struct itimerval *__value));
/* Set the timer WHICH to *NEW. If OLD is not NULL,
set *OLD to the old value of timer WHICH.
Returns 0 on success, -1 on errors. */
extern int __setitimer __P ((enum __itimer_which __which,
struct itimerval *__new,
struct itimerval *__old));
extern int setitimer __P ((enum __itimer_which __which,
struct itimerval *__new,
struct itimerval *__old));
/* Change the access time of FILE to TVP[0] and
the modification time of FILE to TVP[1]. */
extern int __utimes __P ((__const char *__file, struct timeval __tvp[2]));
extern int utimes __P ((__const char *__file, struct timeval __tvp[2]));
/* Convenience macros for operations on timevals.
NOTE: `timercmp' does not work for >= or <=. */
#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
#define timerclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0)
Mon Feb 26 10:22:30 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * sysdeps/unix/dirstream.h: Rewritten. * sysdeps/unix/readdir.c: Rewritten. * sysdeps/unix/telldir.c: Rewritten. * sysdeps/unix/closedir.c: Use <...> instead of "..." for dirstream.h. Remove __ from DIR struct member names. * sysdeps/unix/dirfd.c: Likewise. * sysdeps/unix/seekdir.c: Likewise. * sysdeps/unix/rewinddir.c: Likewise. * sysdeps/unix/opendir.c: Likewise. Don't allocate extra space after DIR structure. * sysdeps/stub/direct.h: File removed. * sysdeps/unix/bsd/bsd4.4/direct.h: File removed. * sysdeps/unix/bsd/direct.h: File removed. * sysdeps/unix/common/direct.h: File removed. * sysdeps/unix/sysv/irix4/direct.h: File removed. * sysdeps/unix/sysv/isc3/direct.h: File removed. * sysdeps/unix/sysv/sco3.2.4/direct.h: File removed. * sysdeps/unix/sysv/sysv4/solaris2/direct.h: File removed. * sysdeps/unix/common/direntry.h: New file. * sysdeps/unix/bsd/direntry.h: New file. * sysdeps/unix/bsd/bsd4.4/direntry.h: New file. * sysdeps/unix/sysv/direntry.h: New file. * sysdeps/stub/direntry.h: New file. * dirent/dirent.h (struct dirent): Type removed. Include <direntry.h> to define it. (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New macros. * dirent/Makefile (headers): Add direntry.h. (distribute): Remove direct.h. * sysdeps/posix/getcwd.c: Use new macros instead of d_namlen. * dirent/scandir.c: Likewise. * io/fts.c (fts_build): Likewise. * io/ftw.c (ftw_dir): Likewise. * sysdeps/posix/ttyname.c: Likewise. * sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: New file. * sysdeps/mach/hurd/profil.c (MAX_PC_SAMPLES): New macro. (collector_timeout): New static variable. (update_waiter): Actually call __task_enable_pc_sampling. Set collector_timeout based on the `tick' count returned. (profile_waiter): Use MAX_PC_SAMPLES. Set nsamples before RPC. Use collector_timeout in __mach_msg call. * gmon/Makefile (noprof): New variable containing mcount. Append profil unless it is in $(unix-syscalls). (mcount.po): Use $(noprof) for list of targets in this rule. * libc-symbols.h: Define _LIBC before #include <config.h>. Sun Feb 25 12:29:23 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * config.h.in [_LIBC] (HAVE_STRERROR): Define it. Protect 2nd page of #undef's for generator programs with #ifndef _LIBC. * time/zic.c, time/zdump.c, time/private.h: Updated from ADO's latest. Fri Feb 9 12:40:19 1996 Brendan Kehoe <brendan@lisa.cygnus.com> * libio/cleanup.c (_IO_cleanup_registration_needed) [!_G_HAVE_ATEXIT]: Init to NULL. * libio/filedoalloc.c (_IO_cleanup_registration_needed): Remove decl. Thu Feb 8 08:12:50 1996 Brendan Kehoe <brendan@cygnus.com> * libio/filedoalloc.c (_IO_cleanup_registration_needed): Revert previous change, since cleanup.c only defines it if _G_HAVE_ATEXIT. Wed Feb 7 15:10:17 1996 Brendan Kehoe <brendan@lisa.cygnus.com> * libio/filedoalloc.c (_IO_cleanup_registration_needed): Declare as extern. Sat Feb 24 11:34:13 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * sysdeps/i386/memcmp.S: Fix argument %esp offsets. * time/sys/time.h (timeradd, timersub): New macros; BSD has these.
1996-02-27 01:55:03 +01:00
#define timercmp(a, b, CMP) \
(((a)->tv_sec == (b)->tv_sec) ? \
((a)->tv_usec CMP (b)->tv_usec) : \
((a)->tv_sec CMP (b)->tv_sec))
#define timeradd(a, b, result) \
do { \
(result)->tv_sec = (a)->tv_sec + (b)->tv_sec; \
(result)->tv_usec = (a)->tv_usec + (b)->tv_usec; \
if ((result)->tv_usec >= 1000000) \
{ \
++(result)->tv_sec; \
(result)->tv_usec -= 1000000; \
} \
} while (0)
#define timersub(a, b, result) \
do { \
(result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \
(result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \
if ((result)->tv_usec < 0) { \
--(result)->tv_sec; \
(result)->tv_usec += 1000000; \
} \
} while (0)
1995-02-18 02:27:10 +01:00
__END_DECLS
update from main archive 961016 Thu Oct 17 01:55:34 1996 Ulrich Drepper <drepper@cygnus.com> * sunrpc/Makefile ($(objpfx)rpcsvc/%.h, $(objpfx)x%.c): Write output to $@T and move to $@ later since the new rpcgen will not overwrite existing files. * po/Makefile (libc.pot): Fix typo. Sun Oct 13 20:52:07 1996 Thorsten Kukuk <kukuk@weber.uni-paderborn.de> Update rpcgen program to TI-rpc code. * sunrpc/Makefile (rpcgen-objs): Add rpc_tblout.o and rpc_sample.o. (distribute): Add proto.h. * sunrpc/proto.h: New file. Prototypes for all the RPC functions. * sunrpc/rpc_clntout.c: Change to allow generation of ISO C code. * sunrpc/rpc_cout.c: Likewise. * sunrpc/rpc_hout.c: Likewise. * sunrpc/rpc_main.c: Likewise. * sunrpc/rpc_parse.c: Likewise. * sunrpc/rpc_parse.h: Likewise. * sunrpc/rpc_scan.c: Likewise. * sunrpc/rpc_scan.h: Likewise. * sunrpc/rpc_svcout.c: Likewise. * sunrpc/rpc_util.c: Likewise. * sunrpc/rpc_util.h: Likewise. * sunrpc/rpc_tblout.c: New file. * sunrpc/rpc_sample.c: Likewise. Thu Oct 17 00:26:20 1996 NIIBE Yutaka <gniibe@mri.co.jp> * sysdeps/unix/opendir.c: Add semicolon for consistency. Wed Oct 16 12:26:53 1996 Sven Verdoolaege <skimo@breughel.ufsia.ac.be> * locale/progams/localedef.c (main): Test with -1 to find out whether read failed. Wed Oct 16 14:54:59 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/i386/clone.S: Use JUMPTARGET and PSEUDO_END macro. Tue Oct 15 21:27:42 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/m68k/sigcontext.h: Removed. Tue Oct 15 15:52:29 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/m68k/clone.S: Add CALL_MCOUNT. * sysdeps/unix/sysv/linux/m68k/mmap.S: Likewise. * sysdeps/unix/sysv/linux/m68k/sigreturn.S: Likewise. * sysdeps/unix/sysv/linux/m68k/socket.S: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.S (__errno_location): Likewise. * sysdeps/unix/sysv/linux/m68k/syscall.S: Likewise. Correct generation of system call. Tue Oct 15 15:13:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * Makerules (sysd-Makefile): Fix command so that it works in the subdirectories. (BUILD_CFLAGS): Change back using $(..) instead of $(common-objpfx), the latter fails in the toplevel directory when $(objdir) is relative. (common-objdir-compile): Run compiler in $(objdir). * sysdeps/posix/Makefile (mk-stdiolim): Likewise. Tue Oct 15 23:39:48 1996 Ulrich Drepper <drepper@cygnus.com> * string/string.h [__USE_SVID]: Add prototype for swab. * time/sys/time.h [__USE_BSD]: Add prototype for ualarm. Reported by Andreas Jaeger. The available nlist implementation is not generally usable. Especially on the currently supported ELF systems the nlist function comes with the libelf. * misc/Makefile (headers): Remove nlist.h. (routines): Remove nlist. * Makefile ($(objpfx)version-info.h): Include information about system the libc is built on in version-info.h file. * po/Makefile (distribute): Add header.pot. Tue Oct 15 16:34:15 1996 Andreas Jaeger <aj@arthur.pfalz.de> * sysdeps/unix/sysv/linux/sleep.c: Include file with prototype. * sysdeps/unix/sysv/linux/reboot.c: Likewise. * misc/error.c: Likewise. Tue Oct 15 22:41:27 1996 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/syscalls.list: Add {get,set}resuid. Tue Oct 15 08:06:02 1996 Andreas Jaeger <aj@arthur.pfalz.de> * crypt/Makefiel (rpath-link): Extend search path to current directory. Fri Oct 11 09:18:06 1996 Sven Verdoolaege <skimo@breughel.ufsia.ac.be> * sysdeps/i386/i586/strlen.S: Correct handling of prolog for aligning pointer. Tue Oct 15 02:13:21 1996 Ulrich Drepper <drepper@cygnus.com> * stdio-common/vfprintf.c: Don't declare __flockfile as weak. * crypt/md5-crypt.c (md5_crypt_r): Add cast to prevent warning. Sun Oct 13 19:16:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/m68k/sysdep.h (POUND): Macro removed, replaced by `&'. (PSEUDO_END): Provide definition to use .size directive. (PSEUDO): Don't interpret negative return values less than -128 as syscall error. * sysdeps/unix/sysv/linux/m68k/syscall.S (syscall): Likewise. * sysdeps/m68k/bsd-_setjmp.S: Use PSEUDO_END macro to provide .size directive. * sysdeps/m68k/bsd-setjmp.S: Likewise. * sysdeps/unix/sysv/linux/m68k/clone.S: Likewise. * sysdeps/unix/sysv/linux/m68k/mmap.S: Likewise. * sysdeps/unix/sysv/linux/m68k/sigreturn.S: Likewise. * sysdeps/unix/sysv/linux/m68k/socket.S: Likewise. * sysdeps/unix/sysv/linux/m68k/syscall.S: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.S: Use PSEUDO_END instead of explicit .size directive. * libio/iogets.c: Warn when gets is used. cd * time/strptime.c: Recognize %s, %u, %g, and %G format.
1996-10-17 03:51:38 +02:00
#ifdef __USE_BSD
/* Set an alarm to go off (generating a SIGALRM signal) in VALUE
microseconds. If INTERVAL is nonzero, when the alarm goes off, the
timer is reset to go off every INTERVAL microseconds thereafter.
Returns the number of microseconds remaining before the alarm. */
extern unsigned int ualarm __P ((unsigned int __value,
unsigned int __interval));
#endif
1995-02-18 02:27:10 +01:00
#endif /* sys/time.h */