This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Synch with 2.4.0-test9 && note for port maintainers about fcntl64
- To: libc-alpha Mailinglist <libc-alpha at sourceware dot cygnus dot com>
- Subject: Synch with 2.4.0-test9 && note for port maintainers about fcntl64
- From: Andreas Jaeger <aj at suse dot de>
- Date: 19 Sep 2000 15:07:17 +0200
Linux 2.4.0-test9-pre4 has correct constants for the F_*64 flags on
powerpc - but still not fcntl64 call :-(.
fcntl64 is so far only correctly implemented on the following 32 bit
systems: i386 and Sparc. Port maintainers for Arm, SH, S390, PowerPC
and MIPS, please send patches to Linus to add a fcntl64 syscall with
the right defines - and then fix glibc.
I'd like to add the following patches to synch glibc with 2.4.0-test9.
Uli, can I commit them?
Andreas
2000-09-19 Andreas Jaeger <aj@suse.de>
* sysdeps/gnu/netinet/tcp.h: Add tcp_info defines and types.
* sysdeps/unix/sysv/linux/sys/mount.h (enum): New flag MS_BIND.
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h (F_SETLKW64,
F_GETLK64, F_SETLK64): Update from Linux-2.4.0-test9-pre4.
============================================================
Index: sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
--- sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h 2000/09/01 07:13:37 1.1
+++ sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h 2000/09/19 08:56:42
@@ -78,10 +78,9 @@
# define F_SETLKW F_SETLKW64 /* Set record locking info (blocking). */
#endif
-/* XXX missing */
-#define F_GETLK64 5 /* Get record locking info. */
-#define F_SETLK64 6 /* Set record locking info (non-blocking). */
-#define F_SETLKW64 7 /* Set record locking info (blocking). */
+#define F_GETLK64 12 /* Get record locking info. */
+#define F_SETLK64 13 /* Set record locking info (non-blocking). */
+#define F_SETLKW64 14 /* Set record locking info (blocking). */
#if defined __USE_BSD || defined __USE_XOPEN2K
# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */
============================================================
Index: sysdeps/unix/sysv/linux/sys/mount.h
--- sysdeps/unix/sysv/linux/sys/mount.h 1999/10/19 03:05:21 1.10
+++ sysdeps/unix/sysv/linux/sys/mount.h 2000/09/19 09:10:29
@@ -1,5 +1,5 @@
/* Header file for mounting/unmount Linux filesystems.
- Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 1999, 2000 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
@@ -55,8 +55,10 @@
#define S_IMMUTABLE S_IMMUTABLE
MS_NOATIME = 1024, /* Do not update access times. */
#define MS_NOATIME MS_NOATIME
- MS_NODIRATIME = 2048 /* Do not update directory access times. */
+ MS_NODIRATIME = 2048, /* Do not update directory access times. */
#define MS_NODIRATIME MS_NODIRATIME
+ MS_BIND = 4096, /* Bind directory at different place. */
+#define MS_BIND MS_BIND
};
/* Flags that can be altered by MS_REMOUNT */
============================================================
Index: sysdeps/gnu/netinet/tcp.h
--- sysdeps/gnu/netinet/tcp.h 2000/07/28 07:37:38 1.4
+++ sysdeps/gnu/netinet/tcp.h 2000/09/19 13:06:38
@@ -161,8 +161,63 @@
#define TCP_LINGER2 0x08 /* Life time of orphaned FIN-WAIT-2 state */
#define TCP_DEFER_ACCEPT 0x09 /* Wake up listener only when data arrive */
#define TCP_WINDOW_CLAMP 0x10 /* Bound advertised window */
+#define TCP_INFO 0x11 /* Information about this connection. */
#define SOL_TCP 6 /* TCP level */
+
+
+#define TCPI_OPT_TIMESTAMPS 1
+#define TCPI_OPT_SACK 2
+#define TCPI_OPT_WSCALE 4
+#define TCPI_OPT_ECN 8
+
+/* Values for tcpi_state. */
+enum tcp_ca_state
+{
+ TCP_CA_Open = 0,
+ TCP_CA_Disorder = 1,
+ TCP_CA_CWR = 2,
+ TCP_CA_Recovery = 3,
+ TCP_CA_Loss = 4
+};
+
+struct tcp_info
+{
+ uint8_t tcpi_state;
+ uint8_t tcpi_ca_state;
+ uint8_t tcpi_retransmits;
+ uint8_t tcpi_probes;
+ uint8_t tcpi_backoff;
+ uint8_t tcpi_options;
+ uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
+
+ uint32_t tcpi_rto;
+ uint32_t tcpi_ato;
+ uint32_t tcpi_snd_mss;
+ uint32_t tcpi_rcv_mss;
+
+ uint32_t tcpi_unacked;
+ uint32_t tcpi_sacked;
+ uint32_t tcpi_lost;
+ uint32_t tcpi_retrans;
+ uint32_t tcpi_fackets;
+
+ /* Times. */
+ uint32_t tcpi_last_data_sent;
+ uint32_t tcpi_last_ack_sent; /* Not remembered, sorry. */
+ uint32_t tcpi_last_data_recv;
+ uint32_t tcpi_last_ack_recv;
+
+ /* Metrics. */
+ uint32_t tcpi_pmtu;
+ uint32_t tcpi_rcv_ssthresh;
+ uint32_t tcpi_rtt;
+ uint32_t tcpi_rttvar;
+ uint32_t tcpi_snd_ssthresh;
+ uint32_t tcpi_snd_cwnd;
+ uint32_t tcpi_advmss;
+ uint32_t tcpi_reordering;
+};
__END_DECLS
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj