1997-01-06 22:07:28 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 1982, 1986, 1993
|
|
|
|
* The Regents of the University of California. All rights reserved.
|
|
|
|
*
|
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
|
|
* modification, are permitted provided that the following conditions
|
|
|
|
* are met:
|
|
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
|
|
* notice, this list of conditions and the following disclaimer.
|
|
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
|
|
* documentation and/or other materials provided with the distribution.
|
|
|
|
* 3. All advertising materials mentioning features or use of this software
|
|
|
|
* must display the following acknowledgement:
|
|
|
|
* This product includes software developed by the University of
|
|
|
|
* California, Berkeley and its contributors.
|
|
|
|
* 4. Neither the name of the University nor the names of its contributors
|
|
|
|
* may be used to endorse or promote products derived from this software
|
|
|
|
* without specific prior written permission.
|
|
|
|
*
|
|
|
|
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
|
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
* SUCH DAMAGE.
|
|
|
|
*
|
|
|
|
* @(#)ip.h 8.1 (Berkeley) 6/10/93
|
|
|
|
*/
|
|
|
|
|
1997-02-19 04:43:53 +00:00
|
|
|
#ifndef _NETINET_IP_H
|
|
|
|
#define _NETINET_IP_H
|
|
|
|
|
1997-06-21 02:59:26 +00:00
|
|
|
#include <bits/types.h>
|
1997-01-06 22:07:28 +00:00
|
|
|
#include <endian.h>
|
|
|
|
#include <netinet/in.h>
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Definitions for internet protocol version 4.
|
|
|
|
* Per RFC 791, September 1981.
|
|
|
|
*/
|
|
|
|
#define IPVERSION 4
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Structure of an internet header, naked of options.
|
|
|
|
*/
|
|
|
|
struct ip {
|
|
|
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
|
|
|
__u_char ip_hl:4, /* header length */
|
|
|
|
ip_v:4; /* version */
|
|
|
|
#endif
|
|
|
|
#if __BYTE_ORDER == __BIG_ENDIAN
|
|
|
|
__u_char ip_v:4, /* version */
|
|
|
|
ip_hl:4; /* header length */
|
|
|
|
#endif
|
|
|
|
__u_char ip_tos; /* type of service */
|
|
|
|
__u_short ip_len; /* total length */
|
|
|
|
__u_short ip_id; /* identification */
|
|
|
|
__u_short ip_off; /* fragment offset field */
|
|
|
|
#define IP_RF 0x8000 /* reserved fragment flag */
|
|
|
|
#define IP_DF 0x4000 /* dont fragment flag */
|
|
|
|
#define IP_MF 0x2000 /* more fragments flag */
|
|
|
|
#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */
|
|
|
|
__u_char ip_ttl; /* time to live */
|
|
|
|
__u_char ip_p; /* protocol */
|
|
|
|
__u_short ip_sum; /* checksum */
|
|
|
|
struct in_addr ip_src, ip_dst; /* source and dest address */
|
|
|
|
};
|
|
|
|
|
|
|
|
#define IP_MAXPACKET 65535 /* maximum packet size */
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Definitions for IP type of service (ip_tos)
|
|
|
|
*/
|
|
|
|
#define IPTOS_LOWDELAY 0x10
|
|
|
|
#define IPTOS_THROUGHPUT 0x08
|
|
|
|
#define IPTOS_RELIABILITY 0x04
|
update from main archive 970118
Sun Jan 19 04:38:20 1997 Ulrich Drepper <drepper@cygnus.com>
* config.make.in (have-ksh, KSH): New variables. Will be filled
in by configure.
* configure.in: Add test for ksh like shell (prefer bash).
* time/Makefile (tests): Depend on install-test-data.
(distribute): Add simplebackw.
(generated-dirs): New variable.
[$(have-ksh)==yes] (install-others): Add iso3166.tab and zone.tab.
(install-bin): Add tzselect.
(install-test-data): Install the zoneinfo files which are needed
for the test case in the build directory.
(test-tz-ENV): New variable. Call test-tz program using data in
build directory.
* time/simpleback: New file.
* time/test-tz.c: Pretty print.
* time/tzfile.c: Use value of environment variable TZDIR as directory
to look for zone info files.
don't let search for DST data destroy already found values.
* time/tzselect.ksh: Use @KSH@ and @TZDIR@ to be substituted when
installing.
* time/tzset.c (__tzset_internal): Avoid freeing string twice.
Set DST zone name to normal zone name if no information is provided.
* time/mktime.c (mktime): Call __tzset_internal to use current
value of TZ.
* Makerules (common-clean): Remove $(generated-dirs) inclusing content.
* glibcbug.in: Fix several bugs. Reported by several people.
* elf/Makefile: Correct dependecies for $(objpfx)ldd.
* inet/netinet/ip.h: Define IPTOS_LOWCOST and IPTOS_MINCOST.
* locale/C-time.c: Update copyright.
* locale/localeinfo.h: Likewise.
* sysdeps/unix/bsd/bsd4.4/direntry.h: Likewise.
* locale/programs/ld-time.c (time_finish): Correct message string.
* locale/programs/linereader.c (lr_token): Use correctly `number'
not `digit' in message string.
* stdlib/strtol.c [UNSIGNED]: Don't punt immediately when `-' is
seen. Instead return ULONG_MAX and set ERANGE.
* stdlib/tst-strtol.c: Correct test to reflect above change.
Sun Jan 19 03:22:30 1997 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sys/mtio.h: Don't use <linux/mtio.h>.
We must not use <linux/posix_types.h>.
* sysdeps/unix/sysv/linux/sys/ipc_buf.h: Don't use __kernel_* types
since we must not use <linux/posix_types.h>.
* sysdeps/unix/sysv/linux/sys/procfs.h: Likewise.
* sysdeps/unix/sysv/linux/alpha/sys/ipc_buf.h: New file. Similar
to sysdeps/unix/sysv/linux/sys/ipc_buf.h, but use alpha relavent
types.
* sysdeps/unix/sysv/linux/alpha/sys/procfs.h: New file. Similar
to sysdeps/unix/sysv/linux/sys/procfs.h, but use alpha relavent
types.
Sun Jan 19 01:48:20 1997 H.J. Lu <hjl@gnu.ai.mit.edu>
* sysdeps/libm-i387/e_exp.S: Correct computation of fractional
part.
* sysdeps/libm-i387/e_expf.S: Likewise.
* sysdeps/libm-i387/e_expl.S: Likewise.
* sysdeps/libm-i387/s_expm1.S: Correct computation of fractional
part. Take care of additional value left on stack by fscale.
* sysdeps/libm-i387/s_expm1f.S: Likewise.
* sysdeps/libm-i387/s_expm1l.S: Likewise.
Fri Jan 17 17:45:32 1997 Ulrich Drepper <drepper@cygnus.com>
* posix/getopt.c: Change all direct usages of `gettext' to `_'.
* sysdeps/generic/sysd-stdio.c (__stdio_reopen): Add missing
parameter.
Reported by Harmanjit Singh <harman@netearth.iitd.ernet.in>.
Thu Jan 16 23:39:25 1997 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/Makefile (tests): Add scanf11.
* stdio-common/scanf11.c: New file.
* stdio-common/vfscanf.c (__vfscanf): Increment `done' when %n
was processed and value is not suppressed.
* stdio-common/bug10.c: Correct test to expect %n increment the
return value of scanf.
* stdio-common/scanf1.c: Likewise.
* stdio-common/scanf3.c: Likewise.
* stdio-common/scanf10.c: Likewise.
* stdio-common/tstdiomisc.c: Likewise.
* time/strptime.c: Add lots of conditional compiling to enable use
outside glibc. When used in glibc, make sure C locale format
strings will always be recognized.
Sat Jan 11 18:53:47 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/sys/sysmacros.h (major, minor, makedev):
Fix definitions so that they work with __kernel_dev_t.
Sat Jan 11 14:24:10 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/kernel_sigaction.h,
sysdeps/unix/sysv/linux/alpha/kernel_sigaction.h,
sysdeps/unix/sysv/linux/sigaction.c: New files.
* sysdeps/unix/sysv/linux/syscalls.list: Add s_sigaction.
Sun Jan 12 15:22:33 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libc-symbols.h (link_warning): Make sure that the .gnu.warning
section is not allocated.
Update and reformat copyright.
Sun Jan 12 12:19:28 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/Makefile ($(objpfx)ldd): Fix depedency list.
Sat Jan 11 15:11:26 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/Makefile ($(common-objpfx)sysd-syscalls): Fix
command so that it works in subdirectories.
Wed Jan 8 22:07:58 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/i386/syscalls.list: Add s_getgroups and
s_setgroups.
* sysdeps/unix/sysv/linux/m68k/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/i386/getgroups.c,
sysdeps/unix/sysv/linux/i386/setgroups.c,
sysdeps/unix/sysv/linux/m68k/getgroups.c,
sysdeps/unix/sysv/linux/m68k/setgroups.c: New files.
Wed Jan 8 19:42:59 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (config.status): Delete bogus rule.
($(objpfx)glibcbug): Renamed from plain `glibcbug', depend on
config.status in build directory, fix command to change to build
directory.
* Makeconfig ($(common-objpfx)config.status): Depend on version.h.
Thu Jan 9 08:47:54 1997 Andreas Jaeger <aj@arthur.pfalz.de>
* glibcbug.in (while): We test for four and not five conditions,
set MAIL_AGENT instead of RMAIL, filter spaces and tabs.
Thu Jan 16 22:00:27 1997 Ulrich Drepper <drepper@cygnus.com>
* misc/syslog.c: Don't define cancel_handler if _LIBC_REENTRANT
is not defined. Reported by Andreas Jaeger.
Thu Jan 9 08:47:54 1997 Andreas Jaeger <aj@arthur.pfalz.de>
* new-malloc/malloc.c (__MALLOC_P): define call to pthread
initializer only if NO_THREADS is not defined.
Wed Jan 8 21:28:58 1997 Andreas Jaeger <aj@arthur.pfalz.de>
* resolv/nss_dns/dns-host.c: Clean-up: delete unnecessary includes
and variables.
Thu Jan 16 21:50:27 1997 Ulrich Drepper <drepper@cygnus.com>
* inet/arpa/inet.h: Include <netinet/in.h> to get struct in_addr
defined.
Tue Jan 7 17:29:59 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (LDLIBS-c.so): New variable.
Tue Jan 7 19:22:00 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(includedir)/gnu/lib-names.h): Define the library
names as strings, not as sequence of tokens that may fall apart.
Fri Jan 10 14:08:41 1997 Roland McGrath <roland@fmh.frob.com>
* time/tzfile.c (__tzfile_read): Check for bogus type and zone name
indices in data file and punt, so a bogus file can't crash us.
Thu Jan 16 20:29:15 1997 Ulrich Drepper <drepper@cygnus.com>
* values.h [__USE_MISC]: Define BITSPERBYTE.
Fri Jan 17 14:16:28 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* stdio/vdprintf.c: Moved file to ...
* sysdeps/posix/vdprintf.c: Here. De-ansideclificate.
* sysdeps/stub/vdprintf.c: New file.
* sysdeps/mach/hurd/vdprintf.c: New file.
Thu Jan 9 15:59:35 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* sysdeps/mach/hurd/posix_opt.h: New file.
* sysdeps/mach/hurd/sigwait.c (sigwait): Don't affect signal mask.
* sysdeps/unix/bsd/tcsendbrk.c (tcsendbreak): Finish
deansideclification.
* sysdeps/mach/libc-lock.h: Add kludges to pretend to implement
recursive locks.
Tue Jan 7 09:48:15 1997 Andreas Jaeger <aj@arthur.pfalz.de>
* signal/sigempty.c (sigemptyset): Correct typo: Empty set should
have all bits zero.
1997-01-19 04:54:28 +00:00
|
|
|
#define IPTOS_LOWCOST 0x02
|
|
|
|
#define IPTOS_MINCOST IPTOS_LOWCOST
|
1997-01-06 22:07:28 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Definitions for IP precedence (also in ip_tos) (hopefully unused)
|
|
|
|
*/
|
|
|
|
#define IPTOS_PREC_NETCONTROL 0xe0
|
|
|
|
#define IPTOS_PREC_INTERNETCONTROL 0xc0
|
|
|
|
#define IPTOS_PREC_CRITIC_ECP 0xa0
|
|
|
|
#define IPTOS_PREC_FLASHOVERRIDE 0x80
|
|
|
|
#define IPTOS_PREC_FLASH 0x60
|
|
|
|
#define IPTOS_PREC_IMMEDIATE 0x40
|
|
|
|
#define IPTOS_PREC_PRIORITY 0x20
|
|
|
|
#define IPTOS_PREC_ROUTINE 0x00
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Definitions for options.
|
|
|
|
*/
|
|
|
|
#define IPOPT_COPIED(o) ((o)&0x80)
|
|
|
|
#define IPOPT_CLASS(o) ((o)&0x60)
|
|
|
|
#define IPOPT_NUMBER(o) ((o)&0x1f)
|
|
|
|
|
|
|
|
#define IPOPT_CONTROL 0x00
|
|
|
|
#define IPOPT_RESERVED1 0x20
|
|
|
|
#define IPOPT_DEBMEAS 0x40
|
|
|
|
#define IPOPT_RESERVED2 0x60
|
|
|
|
|
|
|
|
#define IPOPT_EOL 0 /* end of option list */
|
|
|
|
#define IPOPT_NOP 1 /* no operation */
|
|
|
|
|
|
|
|
#define IPOPT_RR 7 /* record packet route */
|
|
|
|
#define IPOPT_TS 68 /* timestamp */
|
|
|
|
#define IPOPT_SECURITY 130 /* provide s,c,h,tcc */
|
|
|
|
#define IPOPT_LSRR 131 /* loose source route */
|
|
|
|
#define IPOPT_SATID 136 /* satnet id */
|
|
|
|
#define IPOPT_SSRR 137 /* strict source route */
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Offsets to fields in options other than EOL and NOP.
|
|
|
|
*/
|
|
|
|
#define IPOPT_OPTVAL 0 /* option ID */
|
|
|
|
#define IPOPT_OLEN 1 /* option length */
|
|
|
|
#define IPOPT_OFFSET 2 /* offset within option */
|
|
|
|
#define IPOPT_MINOFF 4 /* min value of above */
|
|
|
|
|
1997-02-02 01:50:11 +00:00
|
|
|
#define MAX_IPOPTLEN 40
|
|
|
|
|
1997-01-06 22:07:28 +00:00
|
|
|
/*
|
|
|
|
* Time stamp option structure.
|
|
|
|
*/
|
|
|
|
struct ip_timestamp {
|
|
|
|
__u_char ipt_code; /* IPOPT_TS */
|
|
|
|
__u_char ipt_len; /* size of structure (variable) */
|
|
|
|
__u_char ipt_ptr; /* index of current entry */
|
|
|
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
|
|
|
__u_char ipt_flg:4, /* flags, see below */
|
|
|
|
ipt_oflw:4; /* overflow counter */
|
|
|
|
#endif
|
|
|
|
#if __BYTE_ORDER == __BIG_ENDIAN
|
|
|
|
__u_char ipt_oflw:4, /* overflow counter */
|
|
|
|
ipt_flg:4; /* flags, see below */
|
|
|
|
#endif
|
|
|
|
__u_long data[9];
|
|
|
|
};
|
|
|
|
|
|
|
|
/* flag bits for ipt_flg */
|
|
|
|
#define IPOPT_TS_TSONLY 0 /* timestamps only */
|
|
|
|
#define IPOPT_TS_TSANDADDR 1 /* timestamps and addresses */
|
|
|
|
#define IPOPT_TS_PRESPEC 3 /* specified modules only */
|
|
|
|
|
|
|
|
/* bits for security (not byte swapped) */
|
|
|
|
#define IPOPT_SECUR_UNCLASS 0x0000
|
|
|
|
#define IPOPT_SECUR_CONFID 0xf135
|
|
|
|
#define IPOPT_SECUR_EFTO 0x789a
|
|
|
|
#define IPOPT_SECUR_MMMM 0xbc4d
|
|
|
|
#define IPOPT_SECUR_RESTR 0xaf13
|
|
|
|
#define IPOPT_SECUR_SECRET 0xd788
|
|
|
|
#define IPOPT_SECUR_TOPSECRET 0x6bc5
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Internet implementation parameters.
|
|
|
|
*/
|
|
|
|
#define MAXTTL 255 /* maximum time to live (seconds) */
|
|
|
|
#define IPDEFTTL 64 /* default ttl, from RFC 1340 */
|
|
|
|
#define IPFRAGTTL 60 /* time to live for frags, slowhz */
|
|
|
|
#define IPTTLDEC 1 /* subtracted when forwarding */
|
|
|
|
|
|
|
|
#define IP_MSS 576 /* default maximum segment size */
|
1997-02-19 04:43:53 +00:00
|
|
|
|
|
|
|
#endif /* netinet/ip.h. */
|