I forget to mention that original sys/sysctl.h header file (from gnu site) does not contain these defines.
See attached header file from glibc-2.3.1.tar.gz On Mon, Mar 17, 2003 at 12:43:56PM +0200, Michael Rozhavsky wrote: > Hi, > > I have libc6-dev version 2.3.1-14 installed on my development system. > > sys/sysctl.h header file contains the following defines: > #define _LINUX_KERNEL_H 1 > #define _LINUX_TYPES_H 1 > #define _LINUX_LIST_H 1 > > These defines break other header files. For example > sys/sysinfo.h will not include struct sysinfo from linux/kernel.h > because _LINUX_KERNEL_H is already defined. > > Contents of linux/types.h is also not included because _LINUX_TYPES_H > is defined. > > Why these constants are defined in sys/sysctl.h ? > > Please cc me in your reply because I'm not subscribed to debian-glibc. > > Thank you. > > -- > Michael Rozhavsky > Senior Software Engineer > MRV International > Tel: +972 (4) 993-6248 > Fax: +972 (4) 989-0564 > http://www.mrv.com -- Michael Rozhavsky Senior Software Engineer MRV International Tel: +972 (4) 993-6248 Fax: +972 (4) 989-0564 http://www.mrv.com
/* Copyright (C) 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 modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #ifndef _SYS_SYSCTL_H #define _SYS_SYSCTL_H 1 #include <features.h> __BEGIN_DECLS #define __need_size_t #include <stddef.h> #include <linux/sysctl.h> /* Read or write system parameters. */ extern int sysctl (int *__name, int __nlen, void *__oldval, size_t *__oldlenp, void *__newval, size_t __newlen) __THROW; __END_DECLS #endif /* _SYS_SYSCTL_H */

