|
|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T U
Length: 8913 (0x22d1)
Types: TextFile
Notes: Uncompressed file
└─⟦82ee0715d⟧ Bits:30004771 Terminal Driver Rel. 1.2 (3.5 inch)
└─⟦82ee0715d⟧ UNIX Filesystem
└─⟦e395dafd1⟧ »RCTDR.ISC/new/etc/drivers/td/Space.c.Z«
└─⟦e395dafd1⟧ »RCTDR.SCO/new/etc/drivers/td/Space.c.Z«
└─⟦ca69fd3f9⟧ Bits:30004770 Terminal Driver Rel. 1.2 (5.25 inch)
└─⟦ca69fd3f9⟧ UNIX Filesystem
└─⟦e395dafd1⟧ »RCTDR.ISC/new/etc/drivers/td/Space.c.Z«
└─⟦e395dafd1⟧ »RCTDR.SCO/new/etc/drivers/td/Space.c.Z«
└─⟦this⟧
/*
* Copyright (c) 1991 RC International
* All Rights Reserved
*/
/*
* Data and configuration structures for RC International Terminal Driver.
*/
#ident "@(#)Space.c 1.2, RC International, 92/12/16"
#include <sys/types.h>
#include <sys/param.h>
#include <sys/tty.h>
#include <sys/dir.h>
#include <sys/signal.h>
#include <sys/user.h>
#include <sys/immu.h>
#include <sys/region.h>
#include <sys/proc.h>
#include <sys/chain.h>
#include <sys/msl.h>
#include <sys/card.h>
#ifdef VPIX
#include <sys/tss.h>
#include <sys/v86.h>
#endif
#include <sys/td.h>
#include <sys/tdtrace.h>
#include "config.h"
#if defined(HBTCP) || defined(XWIN)
extern int pollwait;
#else
int pollwait;
#endif
#if TD_MAPCH == 1
/* stubs routines for SCO mapchan command */
emaddmap()
{
return(0);
}
emchkmap()
{
return(1);
}
#endif
#ifdef TD_0
# define TDU_1 1
# define TDU_1_TYPE ((TD_0 / 10) % 10)
# define TDU_1_UNIT (TD_0 % 10)
# if TDU_1_TYPE == NONE_TYPE
# define TDU_1_DEVS 0
# elif TDU_1_TYPE == RCMUX_TYPE
# define TDU_1_DEVS 48
# else
# define TDU_1_DEVS 100
# endif
#else
# define TDU_1 0
# define TDU_1_TYPE NONE_TYPE
# define TDU_1_UNIT 0
# define TDU_1_DEVS 0
#endif
#ifdef TD_1
# define TDU_2 1
# define TDU_2_TYPE ((TD_1 / 10) % 10)
# define TDU_2_UNIT (TD_1 % 10)
# if TDU_2_TYPE == NONE_TYPE
# define TDU_2_DEVS 0
# elif TDU_2_TYPE == RCMUX_TYPE
# define TDU_2_DEVS 48
# else
# define TDU_2_DEVS 100
# endif
#else
# define TDU_2 0
# define TDU_2_TYPE NONE_TYPE
# define TDU_2_UNIT 0
# define TDU_2_DEVS 0
#endif
#ifdef TD_2
# define TDU_3 1
# define TDU_3_TYPE ((TD_2 / 10) % 10)
# define TDU_3_UNIT (TD_2 % 10)
# if TDU_3_TYPE == NONE_TYPE
# define TDU_3_DEVS 0
# elif TDU_3_TYPE == RCMUX_TYPE
# define TDU_3_DEVS 48
# else
# define TDU_3_DEVS 100
# endif
#else
# define TDU_3 0
# define TDU_3_TYPE NONE_TYPE
# define TDU_3_UNIT 0
# define TDU_3_DEVS 0
#endif
#ifdef TD_3
# define TDU_4 1
# define TDU_4_TYPE ((TD_3 / 10) % 10)
# define TDU_4_UNIT (TD_3 % 10)
# if TDU_4_TYPE == NONE_TYPE
# define TDU_4_DEVS 0
# elif TDU_4_TYPE == RCMUX_TYPE
# define TDU_4_DEVS 48
# else
# define TDU_4_DEVS 100
# endif
#else
# define TDU_4 0
# define TDU_4_TYPE NONE_TYPE
# define TDU_4_UNIT 0
# define TDU_4_DEVS 0
#endif
#ifdef TD_4
# define TDU_5 1
# define TDU_5_TYPE ((TD_4 / 10) % 10)
# define TDU_5_UNIT (TD_4 % 10)
# if TDU_5_TYPE == NONE_TYPE
# define TDU_5_DEVS 0
# elif TDU_5_TYPE == RCMUX_TYPE
# define TDU_5_DEVS 48
# else
# define TDU_5_DEVS 100
# endif
#else
# define TDU_5 0
# define TDU_5_TYPE NONE_TYPE
# define TDU_5_UNIT 0
# define TDU_5_DEVS 0
#endif
#ifdef TD_5
# define TDU_6 1
# define TDU_6_TYPE ((TD_5 / 10) % 10)
# define TDU_6_UNIT (TD_5 % 10)
# if TDU_6_TYPE == NONE_TYPE
# define TDU_6_DEVS 0
# elif TDU_6_TYPE == RCMUX_TYPE
# define TDU_6_DEVS 48
# else
# define TDU_6_DEVS 100
# endif
#else
# define TDU_6 0
# define TDU_6_TYPE NONE_TYPE
# define TDU_6_UNIT 0
# define TDU_6_DEVS 0
#endif
#ifdef TD_6
# define TDU_7 1
# define TDU_7_TYPE ((TD_6 / 10) % 10)
# define TDU_7_UNIT (TD_6 % 10)
# if TDU_7_TYPE == NONE_TYPE
# define TDU_7_DEVS 0
# elif TDU_7_TYPE == RCMUX_TYPE
# define TDU_7_DEVS 48
# else
# define TDU_7_DEVS 100
# endif
#else
# define TDU_7 0
# define TDU_7_TYPE NONE_TYPE
# define TDU_7_UNIT 0
# define TDU_7_DEVS 0
#endif
#ifdef TD_7
# define TDU_8 1
# define TDU_8_TYPE ((TD_7 / 10) % 10)
# define TDU_8_UNIT (TD_7 % 10)
# if TDU_8_TYPE == NONE_TYPE
# define TDU_8_DEVS 0
# elif TDU_8_TYPE == RCMUX_TYPE
# define TDU_8_DEVS 48
# else
# define TDU_8_DEVS 100
# endif
#else
# define TDU_8 0
# define TDU_8_TYPE NONE_TYPE
# define TDU_8_UNIT 0
# define TDU_8_DEVS 0
#endif
#ifdef TD_8
# define TDU_9 1
# define TDU_9_TYPE ((TD_8 / 10) % 10)
# define TDU_9_UNIT (TD_8 % 10)
# if TDU_9_TYPE == NONE_TYPE
# define TDU_9_DEVS 0
# elif TDU_9_TYPE == RCMUX_TYPE
# define TDU_9_DEVS 48
# else
# define TDU_9_DEVS 100
# endif
#else
# define TDU_9 0
# define TDU_9_TYPE NONE_TYPE
# define TDU_9_UNIT 0
# define TDU_9_DEVS 0
#endif
#ifdef TD_9
# define TDU_10 1
# define TDU_10_TYPE ((TD_9 / 10) % 10)
# define TDU_10_UNIT (TD_9 % 10)
# if TDU_10_TYPE == NONE_TYPE
# define TDU_10_DEVS 0
# elif TDU_10_TYPE == RCMUX_TYPE
# define TDU_10_DEVS 48
# else
# define TDU_10_DEVS 100
# endif
#else
# define TDU_10 0
# define TDU_10_TYPE NONE_TYPE
# define TDU_10_UNIT 0
# define TDU_10_DEVS 0
#endif
#ifdef TD_10
# define TDU_11 1
# define TDU_11_TYPE ((TD_10 / 10) % 10)
# define TDU_11_UNIT (TD_10 % 10)
# if TDU_11_TYPE == NONE_TYPE
# define TDU_11_DEVS 0
# elif TDU_11_TYPE == RCMUX_TYPE
# define TDU_11_DEVS 48
# else
# define TDU_11_DEVS 100
# endif
#else
# define TDU_11 0
# define TDU_11_TYPE NONE_TYPE
# define TDU_11_UNIT 0
# define TDU_11_DEVS 0
#endif
#ifdef TD_11
# define TDU_12 1
# define TDU_12_TYPE ((TD_11 / 10) % 10)
# define TDU_12_UNIT (TD_11 % 10)
# if TDU_12_TYPE == NONE_TYPE
# define TDU_12_DEVS 0
# elif TDU_12_TYPE == RCMUX_TYPE
# define TDU_12_DEVS 48
# else
# define TDU_12_DEVS 100
# endif
#else
# define TDU_12 0
# define TDU_12_TYPE NONE_TYPE
# define TDU_12_UNIT 0
# define TDU_12_DEVS 0
#endif
#ifdef TD_12
# define TDU_13 1
# define TDU_13_TYPE ((TD_12 / 10) % 10)
# define TDU_13_UNIT (TD_12 % 10)
# if TDU_13_TYPE == NONE_TYPE
# define TDU_13_DEVS 0
# elif TDU_13_TYPE == RCMUX_TYPE
# define TDU_13_DEVS 48
# else
# define TDU_13_DEVS 100
# endif
#else
# define TDU_13 0
# define TDU_13_TYPE NONE_TYPE
# define TDU_13_UNIT 0
# define TDU_13_DEVS 0
#endif
#ifdef TD_13
# define TDU_14 1
# define TDU_14_TYPE ((TD_13 / 10) % 10)
# define TDU_14_UNIT (TD_13 % 10)
# if TDU_14_TYPE == NONE_TYPE
# define TDU_14_DEVS 0
# elif TDU_14_TYPE == RCMUX_TYPE
# define TDU_14_DEVS 48
# else
# define TDU_14_DEVS 100
# endif
#else
# define TDU_14 0
# define TDU_14_TYPE NONE_TYPE
# define TDU_14_UNIT 0
# define TDU_14_DEVS 0
#endif
#ifdef TD_14
# define TDU_15 1
# define TDU_15_TYPE ((TD_14 / 10) % 10)
# define TDU_15_UNIT (TD_14 % 10)
# if TDU_15_TYPE == NONE_TYPE
# define TDU_15_DEVS 0
# elif TDU_15_TYPE == RCMUX_TYPE
# define TDU_15_DEVS 48
# else
# define TDU_15_DEVS 100
# endif
#else
# define TDU_15 0
# define TDU_15_TYPE NONE_TYPE
# define TDU_15_UNIT 0
# define TDU_15_DEVS 0
#endif
#ifdef TD_15
# define TDU_16 1
# define TDU_16_TYPE ((TD_15 / 10) % 10)
# define TDU_16_UNIT (TD_15 % 10)
# if TDU_16_TYPE == NONE_TYPE
# define TDU_16_DEVS 0
# elif TDU_16_TYPE == RCMUX_TYPE
# define TDU_16_DEVS 48
# else
# define TDU_16_DEVS 100
# endif
#else
# define TDU_16 0
# define TDU_16_TYPE NONE_TYPE
# define TDU_16_UNIT 0
# define TDU_16_DEVS 0
#endif
struct td_cfg td_cfg[16] = {
/* present: unit_no: ctlr_type: no_devs: */
TDU_1, TDU_1_UNIT, TDU_1_TYPE, TDU_1_DEVS,
TDU_2, TDU_2_UNIT, TDU_2_TYPE, TDU_2_DEVS,
TDU_3, TDU_3_UNIT, TDU_3_TYPE, TDU_3_DEVS,
TDU_4, TDU_4_UNIT, TDU_4_TYPE, TDU_4_DEVS,
TDU_5, TDU_5_UNIT, TDU_5_TYPE, TDU_5_DEVS,
TDU_6, TDU_6_UNIT, TDU_6_TYPE, TDU_6_DEVS,
TDU_7, TDU_7_UNIT, TDU_7_TYPE, TDU_7_DEVS,
TDU_8, TDU_8_UNIT, TDU_8_TYPE, TDU_8_DEVS,
TDU_9, TDU_9_UNIT, TDU_9_TYPE, TDU_9_DEVS,
TDU_10, TDU_10_UNIT, TDU_10_TYPE, TDU_10_DEVS,
TDU_11, TDU_11_UNIT, TDU_11_TYPE, TDU_11_DEVS,
TDU_12, TDU_12_UNIT, TDU_12_TYPE, TDU_12_DEVS,
TDU_13, TDU_13_UNIT, TDU_13_TYPE, TDU_13_DEVS,
TDU_14, TDU_14_UNIT, TDU_14_TYPE, TDU_14_DEVS,
TDU_15, TDU_15_UNIT, TDU_15_TYPE, TDU_15_DEVS,
TDU_16, TDU_16_UNIT, TDU_16_TYPE, TDU_16_DEVS,
};
#define TD_CTLRS (TDU_1 + TDU_2 + TDU_3 + TDU_4 + TDU_5 + TDU_6 + \
TDU_7 + TDU_8 + TDU_9 + TDU_10 + TDU_11 + TDU_12 + \
TDU_13 + TDU_14 + TDU_15 + TDU_16)
int td_no_ctlrs = TD_CTLRS;
struct td_ctlr td_ctlrs[TD_CTLRS];
struct td_ctlr * td_unit_tab[17];
#define TD_DEVS (TDU_1_DEVS + TDU_2_DEVS + TDU_3_DEVS + TDU_4_DEVS + \
TDU_5_DEVS + TDU_6_DEVS + TDU_7_DEVS + TDU_8_DEVS + \
TDU_9_DEVS + TDU_10_DEVS + TDU_11_DEVS + TDU_12_DEVS + \
TDU_13_DEVS + TDU_14_DEVS + TDU_15_DEVS + TDU_16_DEVS)
int td_no_dev_ptrs = TD_DEVS;
struct td_dev * td_dev_ptrs[TD_DEVS];
#if defined(SCO) || defined(M_UNIX) || defined(DMAABLE)
short td_host_type = ISO_HOST;
#else
short td_host_type = IBM_DOS;
#endif
#define TDB_0_BASE 0
#ifdef TDP_0
#define TDB_0_DEVS TDP_0
#else
#define TDB_0_DEVS 0
#endif
#define TDB_1_BASE (TDB_0_BASE + TDB_0_DEVS)
#ifdef TDF_0
#define TDB_1_DEVS TDF_0
#else
#define TDB_1_DEVS 0
#endif
#define TDB_2_BASE (TDB_1_BASE + TDB_1_DEVS)
#ifdef TDM_0
#define TDB_2_DEVS TDM_0
#else
#define TDB_2_DEVS 0
#endif
struct td_board td_boards[3] = {
/* base: devices: */
TDB_0_BASE, TDB_0_DEVS,
TDB_1_BASE, TDB_1_DEVS,
TDB_2_BASE, TDB_2_DEVS,
};
#define TD_CHANS (TDB_0_DEVS + TDB_1_DEVS + TDB_2_DEVS)
int td_no_devs = TD_CHANS;
struct td_dev td_devs[TD_CHANS];
#define TD_TSIZE 1024 /* number of trace records */
int td_ttop = TD_TSIZE;
struct tdtrace td_tbuf[TD_TSIZE];