diff options
47 files changed, 281 insertions, 103 deletions
@@ -1,3 +1,76 @@ +1999-08-18 Ulrich Drepper <drepper@cygnus.com> + + * Rules: When generating stdio_lim.h also rewrite IOV_MAX definition. + * stdio-common/stdio_lim.h.in: Add IOV_MAX template. + * include/bits/xopen_lim.h: Don't define IOV_MAX here, get it from + stdio_lim.h. Define LONG_BIT and WORD_BIT. + + * include/features.h: Define __USE_XOPEN2K if _XOPEN_SOURCE == 600. + + * libio/stdio.h: Don't declare cuserid and getopt for X/Open issue 6. + + * misc/search.h: Don't define NULL. + + * posix/sys/types.h: Define blksize_t if it hasn't happened. + Only define key_t and blkcnt_t if it hasn't happened before. + Define blksize_t if not happened before. + * io/sys/stat.h: Don't define pid_t. Define blkcnt_t and blksize_t. + * sysdeps/generic/bits/types.h: Define __blksize_t. + * sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise. + * sysdeps/unix/sysv/linux/bits/types.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise. + * sysdeps/unix/sysv/sysv4/solaris2/bits/types.h: Likewise. + * sysdeps/mach/hurd/bits/stat.h (struct stat): Use __blksize_t for + st_blksize member. + (struct stat64): Likewise. + * sysdeps/unix/bsd/bits/stat.h: Likewise. + * sysdeps/unix/bsd/osf/alpha/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/bits/stat.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise. + * sysdeps/unix/sysv/sysv4/i386/bist/stat.h: Likewise. + * sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h: Likewise. + + * stdlib/getsubopt.c: Correct type of second argument. + * stdlib/stdlib.h: Likewise. + + * stdlib/monetary.h: Don't include sys/types.h. Define only size_t + and ssize_t. + + * sysdeps/generic/putenv.c: Correct type of parameter. + * stdlib/stdlib.h: Likewise. + + * sysdeps/generic/msgsnd.c: Correct type of second parameter. + * sysdeps/unix/sysv/linux/msgsnd.c: Likewise. + * sysvips/sys/msg.h: Likewise. + + * sysdeps/generic/semop.c: Correct type of third parameter. + * sysdeps/unix/sysv/linux/semop.c: Likewise. + * sysvipc/sys/sem.h: Likewise. Don't include sys/types.h, define + size_t. + + * sysdeps/generic/shmget.c: Correct type of second parameter. + * sysdeps/unix/sysv/linux/shmget.c: Likewise. + * sysvips/sys/shm.h: Likewise. Don't include unistd.h and sys/types.h. + Declare __getpagesize here. + + * sysdeps/generic/bits/ipc.h: Include bits/types.h instead of + sys/types.h. + * sysdeps/gnu/bits/ipc.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/ipc.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: Likewise. + * sysvipc/sys/ipc.h: Define uid_t, gid_t, mode_t, and key_t if not + already done. + + * sysdeps/unix/bsd/usleep.c: Correct type of parameter. + + * debug/versions: Export __cyg_profile_func_enter and + __cyg_profile_func_exit. + + * math/bits/mathcalls.h: Pretty print. + 1999-08-17 Ulrich Drepper <drepper@cygnus.com> * timezone/tst-timezone.c (tests): Update America/Sao_Paulo test @@ -191,26 +191,32 @@ $(stdio_lim:h=st): $(..)stdio-common/stdio_lim.h.in $(..)Rules \ echo '#include "$(..)posix/bits/posix1_lim.h"' | \ SUNPRO_DEPENDENCIES='$(@:st=dT) $@' \ $(CC) $(+includes) -E -dM -xc - -o $(@:st=hT) + echo '#include "$(..)misc/sys/uio.h"' | \ + SUNPRO_DEPENDENCIES='$(@:st=dT) $@' \ + $(CC) $(+includes) -E -dM -xc - | cat - >> $(@:st=hT) ifdef sed-remove-objpfx sed $(sed-remove-objpfx) $(@:st=dT) > $(@:st=dt) - mv -f $(@:st=dt) $(@:st=d) + cat $(@:st=dt) >> $(@:st=d) else - mv -f $(@:st=dT) $(@:st=d) + cat $(@:st=dT) >> $(@:st=d) endif - fopen_max=`sed -n 's/^#define OPEN_MAX //p' $(@:st=hT)`; \ - filename_max=`sed -n 's/^#define PATH_MAX //p' $(@:st=hT)`; \ + fopen_max=`sed -n 's/^#define OPEN_MAX //1p' $(@:st=hT)`; \ + filename_max=`sed -n 's/^#define PATH_MAX //1p' $(@:st=hT)`; \ + iov_max=`sed -n 's/^#define UIO_MAXIOV //p' $(@:st=hT)`; \ fopen_max=$${fopen_max:-16}; \ filename_max=$${filename_max:-1024}; \ + iov_max=$${iov_max:-_XOPEN_IOV_MAX}; \ sed -e "s/@FOPEN_MAX@/$$fopen_max/" \ -e "s/@FILENAME_MAX@/$$filename_max/" \ -e "s/@L_tmpnam@/$(L_tmpnam)/" \ -e "s/@TMP_MAX@/$(TMP_MAX)/" \ -e "s/@L_ctermid@/$(L_ctermid)/" \ -e "s/@L_cuserid@/$(L_cuserid)/" \ + -e "s/@IOV_MAX@/$$iov_max/" \ $< > $(@:st=h.new) $(move-if-change) $(@:st=h.new) $(@:st=h) # Remove these last so that they can be examined if something went wrong. - rm -f $(@:st=hT) $(@:st=dT) + rm -f $(@:st=hT) $(@:st=dT) $(@:st=dt) touch $@ # Get dependencies. ifndef no_deps @@ -1,6 +1,5 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995. 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 @@ -21,7 +20,7 @@ # error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead." #endif -#include <sys/types.h> +#include <bits/types.h> /* Mode bits for `msgget', `semget', and `shmget'. */ #define IPC_CREAT 01000 /* create key if key does not exist */ diff --git a/bits/types.h b/bits/types.h index 8d20612..fd9818e 100644 --- a/bits/types.h +++ b/bits/types.h @@ -115,6 +115,9 @@ typedef struct typedef unsigned short int __ipc_pid_t; +/* Type to represent block size. */ +typedef unsigned int __blksize_t; + /* Types from the Large File Support interface. */ /* Type to count number os disk blocks. */ diff --git a/debug/Versions b/debug/Versions index 01d390e..c2b6396 100644 --- a/debug/Versions +++ b/debug/Versions @@ -6,4 +6,8 @@ libc { # b* backtrace; backtrace_symbols; backtrace_symbols_fd; } + GLIBC_2.2 { + # These are to support some gcc features. + __cyg_profile_func_enter; __cyg_profile_func_exit; + } } diff --git a/include/bits/xopen_lim.h b/include/bits/xopen_lim.h index 9f22e44..607c50b 100644 --- a/include/bits/xopen_lim.h +++ b/include/bits/xopen_lim.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -31,6 +31,7 @@ #define _XOPEN_LIM_H 1 #define __need_FOPEN_MAX +#define __need_IOV_MAX #include <bits/stdio_lim.h> /* We do not provide fixed values for @@ -44,6 +45,9 @@ CHILD_MAX Maximum number of simultaneous processes per real user ID. + IOV_MAX Maximum number of `iovec' structures that one process has + available for use with `readv' or writev'. + OPEN_MAX Maximum number of files that one process can have open at anyone time. @@ -53,11 +57,6 @@ PASS_MAX Maximum number of significant bytes in a password. */ - -/* Maximum number of `iovec' structures that one process has available - for use with `readv' or writev'. */ -#define IOV_MAX _XOPEN_IOV_MAX - /* The number of streams that one process can have open at one time. */ #define STREAM_MAX FOPEN_MAX @@ -93,4 +92,25 @@ /* Default process priority. */ #define NZERO 20 + +/* Number of bits in a word of type `int'. */ +#if INT_MAX == 32767 +# define WORD_BIT 16 +#else +# if INT_MAX == 2147483647 +# define WORD_BIT 32 +# else +/* Safe assumption. */ +# define WORD_BIT 64 +# endif +#endif + +/* Number of bits in a word of type `long int'. */ +#if INT_MAX == 2147483647 +# define LONG_BIT 32 +#else +/* Safe assumption. */ +# define LONG_BIT 64 +#endif + #endif /* bits/xopen_lim.h */ diff --git a/include/features.h b/include/features.h index f04184a..1189e3e 100644 --- a/include/features.h +++ b/include/features.h @@ -125,7 +125,7 @@ # undef _POSIX_C_SOURCE # define _POSIX_C_SOURCE 199506L # undef _XOPEN_SOURCE -# define _XOPEN_SOURCE 500 +# define _XOPEN_SOURCE 600 # undef _XOPEN_SOURCE_EXTENDED # define _XOPEN_SOURCE_EXTENDED 1 # undef _LARGEFILE64_SOURCE @@ -182,11 +182,14 @@ #ifdef _XOPEN_SOURCE # define __USE_XOPEN 1 -# if (_XOPEN_SOURCE - 0) == 500 +# if (_XOPEN_SOURCE - 0) >= 500 # define __USE_XOPEN_EXTENDED 1 # define __USE_UNIX98 1 # undef _LARGEFILE_SOURCE # define _LARGEFILE_SOURCE 1 +# if (_XOPEN_SOURCE - 0) == 600 +# define __USE_XOPEN2K 1 +# endif # else # ifdef _XOPEN_SOURCE_EXTENDED # define __USE_XOPEN_EXTENDED 1 diff --git a/io/sys/stat.h b/io/sys/stat.h index 058c91e..97f7897 100644 --- a/io/sys/stat.h +++ b/io/sys/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 95, 96, 97, 98 Free Software Foundation, Inc. +/* Copyright (C) 1991, 92, 95, 96, 97, 98, 99 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -78,9 +78,18 @@ typedef __uid_t uid_t; #endif /* X/Open */ #ifdef __USE_UNIX98 -# ifndef __pid_t_defined -typedef __pid_t pid_t; -# define __pid_t_defined +# ifndef __blkcnt_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __blkcnt_t blkcnt_t; +# else +typedef __blkcnt64_t blkcnt_t; +# endif +# define __blkcnt_t_defined +# endif + +# ifndef __blksize_t_defined +typedef __blksize_t blksize_t; +# define __blksize_t_defined # endif #endif /* Unix98 */ diff --git a/libio/stdio.h b/libio/stdio.h index 3c726c8..7b64903 100644 --- a/libio/stdio.h +++ b/libio/stdio.h @@ -588,10 +588,10 @@ extern char *ctermid __P ((char *__s)); #endif /* Use POSIX. */ -#ifdef __USE_XOPEN +#if defined __USE_XOPEN && !defined __USE_XOPEN2K /* Return the name of the current user. */ extern char *cuserid __P ((char *__s)); -#endif /* Use X/Open. */ +#endif /* Use X/Open, but not issue 6. */ #ifdef __USE_GNU @@ -620,13 +620,13 @@ extern int ftrylockfile __P ((FILE *__stream)); extern void funlockfile __P ((FILE *__stream)); #endif /* POSIX || misc */ -#if defined __USE_XOPEN && !defined __USE_GNU +#if defined __USE_XOPEN && !defined __USE_XOPEN2K && !defined __USE_GNU /* The X/Open standard requires some functions and variables to be declared here which do not belong into this header. But we have to follow. In GNU mode we don't do this nonsense. */ # define __need_getopt # include <getopt.h> -#endif +#endif /* X/Open, but not issue 6 and not for GNU. */ /* If we are compiling with optimizing read this file. It contains several optizing inline functions and macros. */ diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h index 025c4c7..7f41ef9 100644 --- a/math/bits/mathcalls.h +++ b/math/bits/mathcalls.h @@ -259,10 +259,10 @@ __MATHCALLX (nexttoward,, (_Mdouble_ __x, long double __y), (__const__)); /* Return the remainder of integer divison X / Y with infinite precision. */ __MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y)); -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +# if defined __USE_MISC || defined __USE_XOPEN_EXTENDED /* Return X times (2 to the Nth power). */ __MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n)); -#endif +# endif /* Return X times (2 to the Nth power). */ __MATHCALL (scalbn,, (_Mdouble_ __x, int __n)); diff --git a/misc/search.h b/misc/search.h index b534d93..60edbe5 100644 --- a/misc/search.h +++ b/misc/search.h @@ -1,5 +1,5 @@ /* Declarations for System V style searching functions. - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,7 +23,6 @@ #include <features.h> #define __need_size_t -#define __need_NULL #include <stddef.h> __BEGIN_DECLS diff --git a/posix/sys/types.h b/posix/sys/types.h index 7a0b382..37c1cb1 100644 --- a/posix/sys/types.h +++ b/posix/sys/types.h @@ -110,8 +110,9 @@ typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; #endif -#if defined __USE_SVID || defined __USE_XOPEN +#if (defined __USE_SVID || defined __USE_XOPEN) && !defined __key_t_defined typedef __key_t key_t; +# define __key_t_defined #endif #ifdef __USE_XOPEN @@ -205,13 +206,24 @@ typedef int register_t __attribute__ ((__mode__ (__word__))); #endif /* Use BSD. */ +#if defined __USE_UNIX98 && !defined __blksize_t_defined +typedef __blksize_t blksize_t; +# define __blksize_t_defined +#endif + /* Types from the Large File Support interface. */ #ifndef __USE_FILE_OFFSET64 +# ifndef __blkcnt_t_defined typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */ +# define __blkcnt_t_defined +# endif typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */ typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */ #else +# ifndef __blkcnt_t_defined typedef __blkcnt64_t blkcnt_t; /* Type to count number of disk blocks. */ +# define __blkcnt_t_defined +# endif typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks. */ typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes. */ #endif diff --git a/stdio-common/stdio_lim.h.in b/stdio-common/stdio_lim.h.in index 957fac6..5527296 100644 --- a/stdio-common/stdio_lim.h.in +++ b/stdio-common/stdio_lim.h.in @@ -1,4 +1,4 @@ -/* Copyright (C) 1994, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1994, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -35,3 +35,7 @@ # undef FOPEN_MAX # define FOPEN_MAX @FOPEN_MAX@ #endif + +#if defined __need_IOV_MAX && !defined IOV_MAX +# define IOV_MAX @IOV_MAX@ +#endif diff --git a/stdlib/getsubopt.c b/stdlib/getsubopt.c index d559d90..3cff684 100644 --- a/stdlib/getsubopt.c +++ b/stdlib/getsubopt.c @@ -1,5 +1,5 @@ /* Parse comma separate list into words. - Copyright (C) 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -31,7 +31,7 @@ int getsubopt (optionp, tokens, valuep) char **optionp; - const char *const *tokens; + char *const *tokens; char **valuep; { char *endp, *vstart; diff --git a/stdlib/monetary.h b/stdlib/monetary.h index d0dcaad..de288a2 100644 --- a/stdlib/monetary.h +++ b/stdlib/monetary.h @@ -1,5 +1,5 @@ /* Header file for monetary value formatting functions. - Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,7 +23,15 @@ #include <features.h> /* Get needed types. */ -#include <sys/types.h> +#define __need_size_t +#include <stddef.h> +#include <bits/types.h> + +#ifndef __ssize_t_defined +typedef __ssize_t ssize_t; +# define __ssize_t_defined +#endif + __BEGIN_DECLS diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h index 97fa000..bec1209 100644 --- a/stdlib/stdlib.h +++ b/stdlib/stdlib.h @@ -537,7 +537,7 @@ extern char *__secure_getenv __P ((__const char *__name)); /* The SVID says this is in <stdio.h>, but this seems a better place. */ /* Put STRING, which is of the form "NAME=VALUE", in the environment. If there is no `=', remove NAME from the environment. */ -extern int putenv __P ((__const char *__string)); +extern int putenv __P ((char *__string)); #endif #ifdef __USE_BSD @@ -736,7 +736,7 @@ extern int rpmatch __P ((__const char *__response)); suboption. On exit *OPTIONP is set to the beginning of the next token or at the terminating NUL character. */ extern int getsubopt __P ((char **__restrict __optionp, - __const char *__const *__restrict __tokens, + char *__const *__restrict __tokens, char **__restrict __valuep)); #endif diff --git a/sysdeps/generic/bits/ipc.h b/sysdeps/generic/bits/ipc.h index 58f419b..7e38fdf 100644 --- a/sysdeps/generic/bits/ipc.h +++ b/sysdeps/generic/bits/ipc.h @@ -1,6 +1,5 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995. 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 @@ -21,7 +20,7 @@ # error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead." #endif -#include <sys/types.h> +#include <bits/types.h> /* Mode bits for `msgget', `semget', and `shmget'. */ #define IPC_CREAT 01000 /* create key if key does not exist */ diff --git a/sysdeps/generic/bits/types.h b/sysdeps/generic/bits/types.h index 8d20612..fd9818e 100644 --- a/sysdeps/generic/bits/types.h +++ b/sysdeps/generic/bits/types.h @@ -115,6 +115,9 @@ typedef struct typedef unsigned short int __ipc_pid_t; +/* Type to represent block size. */ +typedef unsigned int __blksize_t; + /* Types from the Large File Support interface. */ /* Type to count number os disk blocks. */ diff --git a/sysdeps/generic/msgsnd.c b/sysdeps/generic/msgsnd.c index 9938952..5c65116 100644 --- a/sysdeps/generic/msgsnd.c +++ b/sysdeps/generic/msgsnd.c @@ -1,6 +1,6 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995. + Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995. 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 @@ -29,7 +29,7 @@ int msgsnd (msqid, msgp, msgsz, msgflg) int msqid; - void *msgp; + const void *msgp; size_t msgsz; int msgflg; { diff --git a/sysdeps/generic/putenv.c b/sysdeps/generic/putenv.c index 75fafad..9c7d75a 100644 --- a/sysdeps/generic/putenv.c +++ b/sysdeps/generic/putenv.c @@ -51,7 +51,7 @@ extern char *alloca (); /* Put STRING, which is of the form "NAME=VALUE", in the environment. */ int putenv (string) - const char *string; + char *string; { const char *const name_end = strchr (string, '='); diff --git a/sysdeps/generic/semop.c b/sysdeps/generic/semop.c index 64f5951..0c26deb 100644 --- a/sysdeps/generic/semop.c +++ b/sysdeps/generic/semop.c @@ -1,6 +1,6 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995. + Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995. 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 @@ -26,7 +26,7 @@ int semop (semid, sops, nsops) int semid; struct sembuf *sops; - unsigned int nsops; + size_t nsops; { __set_errno (ENOSYS); return -1; diff --git a/sysdeps/generic/shmget.c b/sysdeps/generic/shmget.c index 4f8eb63..e534423 100644 --- a/sysdeps/generic/shmget.c +++ b/sysdeps/generic/shmget.c @@ -1,6 +1,6 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995. + Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995. 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 @@ -26,7 +26,7 @@ int shmget (key, size, shmflg) key_t key; - int size; + size_t size; int shmflg; { __set_errno (ENOSYS); diff --git a/sysdeps/gnu/bits/ipc.h b/sysdeps/gnu/bits/ipc.h index c4e3735..eb9bcff 100644 --- a/sysdeps/gnu/bits/ipc.h +++ b/sysdeps/gnu/bits/ipc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,7 +20,7 @@ # error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead." #endif -#include <sys/types.h> +#include <bits/types.h> /* Mode bits for `msgget', `semget', and `shmget'. */ #define IPC_CREAT 01000 /* Create key if key does not exist. */ diff --git a/sysdeps/mach/hurd/bits/stat.h b/sysdeps/mach/hurd/bits/stat.h index df50a09..201aed1 100644 --- a/sysdeps/mach/hurd/bits/stat.h +++ b/sysdeps/mach/hurd/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1993, 1994, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1992, 93, 94, 96, 97, 99 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -62,7 +62,7 @@ struct stat __time_t st_ctime; /* Status change time, seconds */ unsigned long int st_ctime_usec; /* and microseconds. */ - unsigned int st_blksize; /* Optimal size for I/O. */ + __blksize_t st_blksize; /* Optimal size for I/O. */ #ifndef __USE_FILE_OFFSET64 __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. @@ -111,7 +111,7 @@ struct stat64 __time_t st_ctime; /* Status change time, seconds */ unsigned long int st_ctime_usec; /* and microseconds. */ - unsigned int st_blksize; /* Optimal size for I/O. */ + __blksize_t st_blksize; /* Optimal size for I/O. */ __blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. Not related to `st_blksize'. */ diff --git a/sysdeps/unix/bsd/bits/stat.h b/sysdeps/unix/bsd/bits/stat.h index 8722fa0..3343019 100644 --- a/sysdeps/unix/bsd/bits/stat.h +++ b/sysdeps/unix/bsd/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1992, 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -50,7 +50,7 @@ struct stat __time_t st_ctime; /* Time of last status change. */ unsigned long int st_ctime_usec; - unsigned long int st_blksize; /* Optimal block size for I/O. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ #define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ diff --git a/sysdeps/unix/bsd/osf/alpha/bits/stat.h b/sysdeps/unix/bsd/osf/alpha/bits/stat.h index 7084b4e..b73c23a 100644 --- a/sysdeps/unix/bsd/osf/alpha/bits/stat.h +++ b/sysdeps/unix/bsd/osf/alpha/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -42,7 +42,7 @@ struct stat int st_ctime; /* Time of last status change. */ int st_ctime_usec; - unsigned int st_blksize; /* Optimal block size for I/O. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ #define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ diff --git a/sysdeps/unix/bsd/usleep.c b/sysdeps/unix/bsd/usleep.c index 13506d2..ccd294f 100644 --- a/sysdeps/unix/bsd/usleep.c +++ b/sysdeps/unix/bsd/usleep.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1996, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,7 +23,7 @@ /* Sleep USECONDS microseconds, or until a previously set timer goes off. */ void usleep (useconds) - unsigned int useconds; + useconds_t useconds; { struct timeval delay; diff --git a/sysdeps/unix/sysv/linux/alpha/bits/ipc.h b/sysdeps/unix/sysv/linux/alpha/bits/ipc.h index 7b644e8..804e1ee 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/ipc.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/ipc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,7 +20,7 @@ # error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead." #endif -#include <sys/types.h> +#include <bits/types.h> /* Mode bits for `msgget', `semget', and `shmget'. */ #define IPC_CREAT 01000 /* Create key if key does not exist. */ diff --git a/sysdeps/unix/sysv/linux/alpha/bits/stat.h b/sysdeps/unix/sysv/linux/alpha/bits/stat.h index cb4ab78..e1dad32 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/stat.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -53,7 +53,7 @@ struct stat __blkcnt_t st_blocks; /* Nr. 512-byte blocks allocated. */ int __pad2; #endif - unsigned int st_blksize; /* Optimal block size for I/O. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ unsigned int st_flags; unsigned int st_gen; int __pad3; @@ -76,7 +76,7 @@ struct stat64 __time_t st_mtime; /* Time of last modification. */ __time_t st_ctime; /* Time of last status change. */ __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ - unsigned int st_blksize; /* Optimal block size for I/O. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ unsigned int st_flags; unsigned int st_gen; int __pad3; diff --git a/sysdeps/unix/sysv/linux/alpha/bits/types.h b/sysdeps/unix/sysv/linux/alpha/bits/types.h index 4bc4319..d98ed8a 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/types.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/types.h @@ -59,8 +59,9 @@ typedef __int32_t __pid_t; /* Type of process identifications. */ typedef __int64_t __ssize_t; /* Type of a byte count, or error. */ typedef __int64_t __rlim_t; /* Type of resource counts. */ typedef __int64_t __rlim64_t; /* "" (LFS) */ -typedef __uint32_t __blkcnt_t; /* Type to count nr disk blocks. */ -typedef __uint64_t __blkcnt64_t; /* "" (LFS) */ +typedef __uint32_t __blksize_t; /* Type to represnet block size. */ +typedef __uint32_t __blkcnt_t; /* Type to count nr disk blocks. */ +typedef __uint64_t __blkcnt64_t; /* "" (LFS) */ typedef __int32_t __fsblkcnt_t; /* Type to count file system blocks. */ typedef __int64_t __fsblkcnt64_t; /* "" (LFS) */ typedef __uint32_t __fsfilcnt_t; /* Type to count file system inodes. */ diff --git a/sysdeps/unix/sysv/linux/bits/stat.h b/sysdeps/unix/sysv/linux/bits/stat.h index c175668..ff2b16e 100644 --- a/sysdeps/unix/sysv/linux/bits/stat.h +++ b/sysdeps/unix/sysv/linux/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1992, 95, 96, 97, 98, 99 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -53,7 +53,7 @@ struct stat #else __off64_t st_size; /* Size of file, in bytes. */ #endif - unsigned long int st_blksize; /* Optimal block size for I/O. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ #ifndef __USE_FILE_OFFSET64 __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ @@ -84,7 +84,7 @@ struct stat64 __dev_t st_rdev; /* Device number, if device. */ unsigned short int __pad2; __off64_t st_size; /* Size of file, in bytes. */ - unsigned long int st_blksize; /* Optimal block size for I/O. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ __time_t st_atime; /* Time of last access. */ diff --git a/sysdeps/unix/sysv/linux/bits/types.h b/sysdeps/unix/sysv/linux/bits/types.h index 1884bae..28d6157 100644 --- a/sysdeps/unix/sysv/linux/bits/types.h +++ b/sysdeps/unix/sysv/linux/bits/types.h @@ -119,6 +119,9 @@ typedef int __key_t; typedef unsigned short int __ipc_pid_t; +/* Type to represent block size. */ +typedef long int __blksize_t; + /* Types from the Large File Support interface. */ /* Type to count number os disk blocks. */ diff --git a/sysdeps/unix/sysv/linux/mips/bits/ipc.h b/sysdeps/unix/sysv/linux/mips/bits/ipc.h index 04bd3f0..fb989cc 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/ipc.h +++ b/sysdeps/unix/sysv/linux/mips/bits/ipc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,7 +20,7 @@ # error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead." #endif -#include <sys/types.h> +#include <bits/types.h> /* Mode bits for `msgget', `semget', and `shmget'. */ #define IPC_CREAT 01000 /* Create key if key does not exist. */ diff --git a/sysdeps/unix/sysv/linux/mips/bits/stat.h b/sysdeps/unix/sysv/linux/mips/bits/stat.h index f0afd5e..1379ea7 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/stat.h +++ b/sysdeps/unix/sysv/linux/mips/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1992, 95, 96, 97, 98, 99 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -66,7 +66,7 @@ struct stat long int __reserved1; __time_t st_ctime; /* Time of last status change. */ long int __reserved2; - long int st_blksize; /* Optimal block size for I/O. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ #ifndef __USE_FILE_OFFSET64 __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ #else @@ -104,7 +104,7 @@ struct stat64 long int __reserved1; __time_t st_ctime; /* Time of last status change. */ long int __reserved2; - long int st_blksize; /* Optimal block size for I/O. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ __blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */ char st_fstype[16]; /* Filesystem type name */ long int st_pad4[8]; diff --git a/sysdeps/unix/sysv/linux/mips/bits/types.h b/sysdeps/unix/sysv/linux/mips/bits/types.h index d7176c3..37c3f21 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/types.h +++ b/sysdeps/unix/sysv/linux/mips/bits/types.h @@ -119,6 +119,9 @@ typedef int __key_t; typedef long int __ipc_pid_t; +/* Type to represent block size. */ +typedef long int __blksize_t; + /* Types from the Large File Support interface. */ /* Type to count number os disk blocks. */ diff --git a/sysdeps/unix/sysv/linux/msgsnd.c b/sysdeps/unix/sysv/linux/msgsnd.c index c279b2e..af6df3d 100644 --- a/sysdeps/unix/sysv/linux/msgsnd.c +++ b/sysdeps/unix/sysv/linux/msgsnd.c @@ -1,6 +1,6 @@ -/* Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995. + Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995. 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 @@ -26,7 +26,7 @@ int msgsnd (msqid, msgp, msgsz, msgflg) int msqid; - void *msgp; + const void *msgp; size_t msgsz; int msgflg; { diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/ipc.h b/sysdeps/unix/sysv/linux/powerpc/bits/ipc.h index 1c1ae80..58f6d99 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/ipc.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/ipc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,7 +20,7 @@ # error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead." #endif -#include <sys/types.h> +#include <bits/types.h> /* Mode bits for `msgget', `semget', and `shmget'. */ #define IPC_CREAT 01000 /* Create key if key does not exist. */ diff --git a/sysdeps/unix/sysv/linux/semop.c b/sysdeps/unix/sysv/linux/semop.c index bd120bf..33fd289 100644 --- a/sysdeps/unix/sysv/linux/semop.c +++ b/sysdeps/unix/sysv/linux/semop.c @@ -1,6 +1,6 @@ -/* Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995. + Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995. 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 @@ -29,7 +29,7 @@ int semop (semid, sops, nsops) int semid; struct sembuf *sops; - unsigned int nsops; + size_t nsops; { return INLINE_SYSCALL (ipc, 5, IPCOP_semop, semid, (int) nsops, 0, sops); } diff --git a/sysdeps/unix/sysv/linux/shmget.c b/sysdeps/unix/sysv/linux/shmget.c index 73bfe97..d9f5ba0 100644 --- a/sysdeps/unix/sysv/linux/shmget.c +++ b/sysdeps/unix/sysv/linux/shmget.c @@ -1,6 +1,6 @@ -/* Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995. + Contributed by Ulrich Drepper <drepper@cygnus.com>, August 1995. 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 @@ -30,7 +30,7 @@ int shmget (key, size, shmflg) key_t key; - int size; + size_t size; int shmflg; { return INLINE_SYSCALL (ipc, 5, IPCOP_shmget, key, size, shmflg, NULL); diff --git a/sysdeps/unix/sysv/linux/sparc/bits/types.h b/sysdeps/unix/sysv/linux/sparc/bits/types.h index 84073b7..89b3ad9 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/types.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/types.h @@ -145,6 +145,9 @@ typedef unsigned short int __ipc_pid_t; #endif +/* Type to represent block size. */ +typedef long int __blksize_t; + /* Types from the Large File Support interface. */ /* Type to count number os disk blocks. */ diff --git a/sysdeps/unix/sysv/sysv4/i386/bits/stat.h b/sysdeps/unix/sysv/sysv4/i386/bits/stat.h index 104ad2f..4c6b729 100644 --- a/sysdeps/unix/sysv/sysv4/i386/bits/stat.h +++ b/sysdeps/unix/sysv/sysv4/i386/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -51,7 +51,7 @@ struct stat long int st_ctime; /* Time of last status change. */ unsigned long int st_ctime_usec; - long int st_blksize; /* Optimal block size for I/O. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ #define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h index ef93b7b..34cc328 100644 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h +++ b/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -50,7 +50,7 @@ struct stat __time_t st_ctime; /* Time of last status change. */ unsigned long int st_ctime_usec; - long int st_blksize; /* Optimal block size for I/O. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ #define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ @@ -81,7 +81,7 @@ struct stat64 __time_t st_ctime; /* Time of last status change */ unsigned long int st_ctime_usec; - long int st_blksize; + __blksize_t st_blksize; __blkcnt64_t st_blocks; char st_fstype[_ST_FSTYPSZ]; long int st_filler3[8]; diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h index 79713e7..1e7b50e 100644 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h +++ b/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h @@ -110,6 +110,9 @@ typedef struct typedef unsigned long int __fd_mask; +/* Type to represent block size. */ +typedef long int __blksize_t; + /* Types from the Large File Support interface. */ /* Type to count number os disk blocks. */ diff --git a/sysvipc/sys/ipc.h b/sysvipc/sys/ipc.h index f1ba7ff..0ec6ed1 100644 --- a/sysvipc/sys/ipc.h +++ b/sysvipc/sys/ipc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,11 +21,31 @@ #include <features.h> +#if !defined __USE_SVID && !defined __USE_XOPEN && __GNUC__ >= 2 +# warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE" +#endif + /* Get system dependent definition of `struct ipc_perm' and more. */ #include <bits/ipc.h> -#if !defined __USE_SVID && !defined __USE_XOPEN && __GNUC__ >= 2 -# warning "Files using this header must be compiled with _SVID_SOURCE or _XOPEN_SOURCE" +#ifndef __uid_t_defined +typedef __uid_t uid_t; +# define __uid_t_defined +#endif + +#ifndef __gid_t_defined +typedef __gid_t gid_t; +# define __gid_t_defined +#endif + +#ifndef __mode_t_defined +typedef __mode_t mode_t; +# define __mode_t_defined +#endif + +#ifndef __key_t_defined +typedef __key_t key_t; +# define __key_t_defined #endif __BEGIN_DECLS diff --git a/sysvipc/sys/msg.h b/sysvipc/sys/msg.h index 56938bf..5f8f761 100644 --- a/sysvipc/sys/msg.h +++ b/sysvipc/sys/msg.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -52,7 +52,7 @@ extern int msgrcv __P ((int __msqid, void *__msgp, size_t __msgsz, long int __msgtyp, int __msgflg)); /* Send message to message queue. */ -extern int msgsnd __P ((int __msqid, void *__msgp, size_t __msgsz, +extern int msgsnd __P ((int __msqid, __const void *__msgp, size_t __msgsz, int __msgflg)); __END_DECLS diff --git a/sysvipc/sys/sem.h b/sysvipc/sys/sem.h index 6ae76e2..b441945 100644 --- a/sysvipc/sys/sem.h +++ b/sysvipc/sys/sem.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,7 +21,8 @@ #include <features.h> -#include <sys/types.h> +#define __need_size_t +#include <stddef.h> /* Get common definition of System V style IPC. */ #include <sys/ipc.h> @@ -51,7 +52,7 @@ extern int semget __P ((key_t __key, int __nsems, int __semflg)); /* Operate on semaphore. */ extern int semop __P ((int __semid, struct sembuf *__sops, - unsigned int __nsops)); + size_t __nsops)); __END_DECLS diff --git a/sysvipc/sys/shm.h b/sysvipc/sys/shm.h index 47e0f49..6dce0a8 100644 --- a/sysvipc/sys/shm.h +++ b/sysvipc/sys/shm.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,8 +21,8 @@ #include <features.h> -#include <unistd.h> /* for `getpagesize' declaration */ -#include <sys/types.h> +#define __need_size_t +#include <stddef.h> /* Get common definition of System V style IPC. */ #include <sys/ipc.h> @@ -33,6 +33,8 @@ /* Segment low boundary address multiple. */ #define SHMLBA (__getpagesize ()) +extern int __getpagesize __P ((void)); + /* The following System V style IPC functions implement a shared memory facility. The definition is found in XPG4.2. */ @@ -43,7 +45,7 @@ __BEGIN_DECLS extern int shmctl __P ((int __shmid, int __cmd, struct shmid_ds *__buf)); /* Get shared memory segment. */ -extern int shmget __P ((key_t __key, int __size, int __shmflg)); +extern int shmget __P ((key_t __key, size_t __size, int __shmflg)); /* Attach shared memory segment. */ extern void *shmat __P ((int __shmid, __const void *__shmaddr, int __shmflg)); |