1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

Sun Apr 28 14:14:35 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>

* sysdeps/unix/sysv/linux/i386/Makefile: New file.

Wed Apr 24 17:35:30  Ulrich Drepper  <drepper@cygnus.com>

	* inet/netinet/in.h, socket/sys/socket.h: Move to
	sysdeps/generic/netinet/in.h, sysdeps/generic/sys/socket.h.
	* netinet/in.h, sys/socket.h: Remove file.

	* misc/Makefile (routines): Add fdatasync.

	* posix/Makefile (headers): Add sched.h.
	(routines): Add nanosleep, sched_setp, sched_getp, sched_sets,
	sched_gets, sched_yield, sched_primax, sched_primin, sched_rr_gi.

	* posix/getconf.c (vars): Add entries for _POSIX_REALTIME_SIGNALS,
	_POSIX_PRIORITY_SCHEDULING, _POSIX_TIMERS, _POSIX_ASYNCHRONOUS_IO,
	_POSIX_PRIORITIZED_IO, _POSIX_SYNCHRONIZED_IO, _POSIX_FSYNC,
	_POSIX_MAPPED_FILES, _POSIX_MEMLOCK, _POSIX_MEMLOCK_RANGE,
	_POSIX_MEMORY_PROTECTION, _POSIX_MESSAGE_PASSING,
	_POSIX_SEMAPHORES, _POSIX_SHARED_MEMORY_OBJECTS.

	* posix/sched.h: New file.  Header for POSIX scheduling interface.

	* posix/unistd.h: Describe options from POSIX.4.
	Add declaration of fdatasync.

	* sysdeps/generic/confname.h: Add definition for
	 _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS,
	_SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO,
	_SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE,
	_SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING,
	_SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS.

	* sysdeps/generic/fdatasync.c: New file.  Default implementation
	simply uses fsync.

	* sysdeps/generic/netinit/in.h: Moved to here from inet/netinet/in.h.

	* sysdeps/generic/schedbits.h: New file.  System dependent
	defintion for POSIX.4 scheduling interface.

	* sysdeps/generic/sys/socket.h: Moved to here from socket/sys/socket.h.

	* sysdeps/stub/nanosleep.c, sysdeps/stub/sched_getp.c,
	sysdeps/stub/sched_gets.c, sysdeps/stub/sched_primax.c,
	sysdeps/stub/sched_primin.c, sysdeps/stub/sched_rr_gi.c,
	sysdeps/stub/sched_setp.c, sysdeps/stub/sched_sets.c,
	sysdeps/stub/sched_yield.c: New file:  Stub implementation
	for systems missing these POSIX.4 system calls.

	* sysdeps/unix/sysv/linux/gnu/types.h,
	sysdeps/unix/sysv/linux/ioctls.h: Use kernel header for
	data type definitions.

	* sysdeps/unix/sysv/linux/netinet/in.h: New file.  Linux
	specific version.

	* sysdeps/unix/sysv/linux/posix_opt.h: New file.  Define POSIX
	options applicable for Linux.

	* sysdeps/unix/sysv/linux/syscalls.list: Add definitions for
	fdatasync, nanosleep, sched_setparam, sched_getparam,
	sched_setscheduler, sched_getscheduler, sched_yield,
	sched_get_priority_max, sched_get_priority_min, and
	sched_rr_get_interval.

	* sysdeps/unix/sysv/linux/sysconf.c: Add handling of POSIX.4
	options.

	* sysdeps/unix/sysv/linux/termbits.h: Use kernel headers.

	* time/sys/time.h: Remove definition of `struct timespec'.

	* time/time.h (struct timespec): Move definition to here.

 	variable, LUCKY, to use instead of setting D to -1 (which fouls
This commit is contained in:
Roland McGrath
1996-04-28 18:25:22 +00:00
parent b1794a285f
commit 7b3547eb0f
32 changed files with 1002 additions and 218 deletions

View File

@ -1,5 +1,5 @@
/* termios type and macro definitions. Linux version.
Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
Copyright (C) 1993, 1994, 1995, 1996 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
@ -17,163 +17,8 @@ License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
/* Type of terminal control flag masks. */
typedef unsigned int tcflag_t;
/* Type of control characters. */
typedef unsigned char cc_t;
/* Type of baud rate specifiers. */
typedef unsigned int speed_t;
/* Terminal control structure. */
struct termios
{
/* Input modes. */
tcflag_t c_iflag;
#define IGNBRK 0x0001 /* Ignore break condition. */
#define BRKINT 0x0002 /* Signal interrupt on break. */
#define IGNPAR 0x0004 /* Ignore characters with parity errors. */
#define PARMRK 0x0008 /* Mark parity and framing errors. */
#define INPCK 0x0010 /* Enable input parity check. */
#define ISTRIP 0x0020 /* Strip 8th bit off characters. */
#define INLCR 0x0040 /* Map NL to CR on input. */
#define IGNCR 0x0080 /* Ignore CR. */
#define ICRNL 0x0100 /* Map CR to NL on input. */
#ifdef __USE_BSD
#define IUCLC 0x0200 /* Map upper case to lower case on input. */
#endif
#define IXON 0x0400 /* Enable start/stop output control. */
#define IXOFF 0x1000 /* Enable start/stop input control. */
#ifdef __USE_BSD
#define IXANY 0x0800 /* Any character will restart after stop. */
#define IMAXBEL 0x2000 /* Ring bell when input queue is full. */
#endif
/* Output modes. */
tcflag_t c_oflag;
#define OPOST 0x0001 /* Perform output processing. */
#ifdef __USE_BSD
#define OLCUC 0x00000002 /* Map lower case to upper case on output. */
#define ONLCR 0x00000004 /* Map NL to CR-NL on output. */
#define OCRNL 0x00000008
#define ONOCR 0x00000010
#define ONLRET 0x00000020
#define OFILL 0x00000040
#define OFDEL 0x00000080
#define NLDLY 0x00000100
#define NL0 0
#define NL1 0x00000100
#define CRDLY 0x00000600
#define CR0 0
#define CR1 0x00000200
#define CR2 0x00000400
#define CR3 0x00000600
#define TABDLY 0x00001800
#define TAB0 0
#define TAB1 0x00000800
#define TAB2 0x00001000
#define XTABS 0x00001800
#define TAB3 XTABS
#define BSDLY 0x00002000
#define BS0 0
#define BS1 0x00002000
#define VTDLY 0x00004000
#define VT0 0
#define VT1 0x00004000
#define FFDLY 0x00008000
#define FF0 0
#define FF1 0x00008000
#endif
/* Control modes. */
tcflag_t c_cflag;
#define CSIZE (CS5|CS6|CS7|CS8) /* Number of bits per byte (mask). */
#define CS5 0 /* 5 bits per byte. */
#define CS6 0x00000010 /* 6 bits per byte. */
#define CS7 0x00000020 /* 7 bits per byte. */
#define CS8 0x00000030 /* 8 bits per byte. */
#define CSTOPB 0x00000040 /* Two stop bits instead of one. */
#define CREAD 0x00000080 /* Enable receiver. */
#define PARENB 0x00000100 /* Parity enable. */
#define PARODD 0x00000200 /* Odd parity instead of even. */
#define HUPCL 0x00000400 /* Hang up on last close. */
#define CLOCAL 0x00000800 /* Ignore modem status lines. */
#ifdef __USE_BSD
#define CRTSCTS 0x80000000
#define CBAUD 0x0000000f /* Mask for speed from c_cflag. */
#define CBAUDEX 0x00001000 /* Mask for extended speed from c_cflag. */
#endif
/* Local modes. */
tcflag_t c_lflag;
#ifdef __USE_BSD
#define ECHOKE 0x00000800 /* Visual erase for KILL. */
#endif
#define ECHOE 0x00000010 /* Visual erase for ERASE. */
#define ECHOK 0x00000020 /* Echo NL after KILL. */
#define ECHO 0x00000008 /* Enable echo. */
#define ECHONL 0x00000040 /* Echo NL even if ECHO is off. */
#ifdef __USE_BSD
#define ECHOPRT 0x00000400 /* Hardcopy visual erase. */
#define ECHOCTL 0x00000200 /* Echo control characters as ^X. */
#endif
#define ISIG 0x00000001 /* Enable signals. */
#define ICANON 0x00000002 /* Do erase and kill processing. */
#define IEXTEN 0x00008000 /* Enable DISCARD and LNEXT. */
#define TOSTOP 0x00000100 /* Send SIGTTOU for background output. */
#ifdef __USE_BSD
#define PENDIN 0x00004000 /* Retype pending input (state). */
#endif
#define NOFLSH 0x00000080 /* Disable flush after interrupt. */
cc_t c_line; /* Line discipline (?) */
/* Control characters. */
#define VEOF 4 /* End-of-file character [ICANON]. */
#define VEOL 11 /* End-of-line character [ICANON]. */
#ifdef __USE_BSD
#define VEOL2 16 /* Second EOL character [ICANON]. */
#define VSWTCH 7 /* ??? */
#endif
#define VERASE 2 /* Erase character [ICANON]. */
#ifdef __USE_BSD
#define VWERASE 14 /* Word-erase character [ICANON]. */
#endif
#define VKILL 3 /* Kill-line character [ICANON]. */
#ifdef __USE_BSD
#define VREPRINT 12 /* Reprint-line character [ICANON]. */
#endif
#define VINTR 0 /* Interrupt character [ISIG]. */
#define VQUIT 1 /* Quit character [ISIG]. */
#define VSUSP 10 /* Suspend character [ISIG]. */
#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */
#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */
#ifdef __USE_BSD
#define VLNEXT 15 /* Literal-next character [IEXTEN]. */
#define VDISCARD 13 /* Discard character [IEXTEN]. */
#endif
#define VMIN 6 /* Minimum number of bytes read at once [!ICANON]. */
#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */
#define NCCS 19
cc_t c_cc[NCCS];
};
/* Use the architecture dependend definitions from the kernel. */
#include <asm/termbits.h>
#define _IOT_termios /* Hurd ioctl type field. */ \
_IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'. */
#define TCSANOW 0 /* Change immediately. */
#define TCSADRAIN 1 /* Change when pending output is written. */
#define TCSAFLUSH 2 /* Flush pending input before changing. */
/* Values for the QUEUE_SELECTOR argument to `tcflush'. */
#define TCIFLUSH 0 /* Discard data received but not yet read. */
#define TCOFLUSH 1 /* Discard data written but not yet sent. */
#define TCIOFLUSH 2 /* Discard all pending data. */
/* Values for the ACTION argument to `tcflow'. */
#define TCOOFF 0 /* Suspend output. */
#define TCOON 1 /* Restart suspended output. */
#define TCIOFF 2 /* Send a STOP character. */
#define TCION 3 /* Send a START character. */