Cleaned up the struct sgtty workaround and made it more generic.

This commit is contained in:
dtrg 2005-06-24 22:11:27 +00:00
parent 779fe568fc
commit f2046954e6
3 changed files with 24 additions and 9 deletions

View file

@ -10,7 +10,9 @@
#include "mem.h"
#include "warn.h"
#ifdef WANT_SGTTY
#include <sgtty.h>
#endif
#ifdef V7IOCTL /* define the proper V7 requests */
@ -45,7 +47,9 @@ int do_ioctl(fd, req, addr)
ptr addr;
{
register long e;
#ifdef WANT_SGTTY
struct sgttyb sg_buf;
#endif
#ifdef BSD_X /* from system.h */
#ifndef V7IOCTL
@ -66,6 +70,8 @@ int do_ioctl(fd, req, addr)
#ifdef V7IOCTL
switch (req) { /* translate the V7 requests */
/* and reject the non-V7 ones */
#ifdef WANT_SGTTY
case V7IOGETP:
req = TIOCGETP;
break;
@ -81,6 +87,8 @@ int do_ioctl(fd, req, addr)
case V7IOHPCL:
req = TIOCHPCL;
break;
#endif
#ifdef BSD_X /* from system.h */
case V7IOSETN:
req = TIOCSETN;
@ -108,11 +116,7 @@ int do_ioctl(fd, req, addr)
/****** Struct sgttyb ioctl's ********/
/*************************************/
#if 0
/* FIXME: I'm not entirely certain what these do; I think they have
* to do with serial port manipulation. If so, they need to be rewritten
* to use the Posix standards. ---dtrg */
#ifdef WANT_SGTTY
case TIOCGETP:
/* Get fd's current param's and store at dsp2 */
if ( (e = ioctl(fd, req, (char *) &sg_buf)) == -1

View file

@ -16,7 +16,10 @@
#include <time.h>
#endif
#include <sys/times.h>
#ifdef WANT_SGTTY
#include <sgtty.h>
#endif
#ifdef BSD_X /* from system.h */
#include <sys/timeb.h>
@ -85,8 +88,9 @@ int tms2mem(addr, tmsb)
return 1;
}
#if 0
/* FIXME: see the related fixme in m_ioctlc. ---dtrg */
#ifdef WANT_SGTTY
/* FIXME: see the related fixme in sysidf.h. --- dtrg */
int sgttyb2mem(addr, sgttybb)
ptr addr;
struct sgttyb *sgttybb;
@ -146,8 +150,9 @@ PRIVATE unsigned long mem_ldfld(addr, offset, length)
return mem_ldu(addr + offset, length);
}
#if 0
/* FIXME: see the related fixme in m_ioctlc. ---dtrg */
#ifdef WANT_SGTTY
/* FIXME: see the related fixme in sysidf.h. --- dtrg */
int mem2sgtty(addr, sgttybb)
ptr addr;
struct sgttyb *sgttybb;

View file

@ -19,3 +19,9 @@
#define SYS_V
#endif /* SYS_5 */
/* FIXME: A lot of modern systems, including Linux, don't have struct sgtty
* and associated ioctls. If you *do* have it, uncomment this. All this
* code should probably be rewritten one day to use termios instead, which
* seems to be the standard that won. --- dtrg */
//#define WANT_SGTTY