|
|
DataMuseum.dkPresents historical artifacts from the history of: Commodore CBM-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Commodore CBM-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 1759 (0x6df)
Types: TextFile
Notes: UNIX file
Names: »ct.c«
└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code
└─⟦2d53db1df⟧ UNIX Filesystem
└─⟦this⟧ »sys/drv/ct.c«
/* (-lgl
* The information contained herein is a trade secret of Mark Williams
* Company, and is confidential information. It is provided under a
* license agreement, and may be copied or disclosed only under the
* terms of that agreement. Any reproduction or disclosure of this
* material without the express written authorization of Mark Williams
* Company or persuant to the license agreement is unlawful.
*
* COHERENT Version 0.7.3
* Copyright (c) 1982, 1983, 1984.
* An unpublished work by Mark Williams Company, Chicago.
* All rights reserved.
-lgl) */
/*
* Coherent
* Console terminal driver.
*/
#include <coherent.h>
#include <con.h>
#include <errno.h>
#include <proc.h>
#include <stat.h>
#include <uproc.h>
/*
* Functions for configuration.
*/
int ctopen();
int ctclose();
int ctread();
int ctwrite();
int ctioctl();
int nulldev();
int nonedev();
/*
* Configuration table.
*/
CON ctcon ={
DFCHR, /* Flags */
1, /* Major index */
ctopen, /* Open */
ctclose, /* Close */
nulldev, /* Block */
ctread, /* Read */
ctwrite, /* Write */
ctioctl, /* Ioctl */
nulldev, /* Powerfail */
nulldev, /* Timeout */
nulldev, /* Load */
nulldev, /* Unload */
};
/*
* Open.
*/
ctopen(dev, m)
dev_t dev;
{
register dev_t ttdev;
if ((ttdev=SELF->p_ttdev) == NODEV) {
u.u_error = ENXIO;
return;
}
dopen(ttdev, m, DFCHR);
}
/*
* Close.
*/
ctclose(dev)
dev_t dev;
{
dclose(SELF->p_ttdev);
}
/*
* Read.
*/
ctread(dev, iop)
dev_t dev;
IO *iop;
{
dread(SELF->p_ttdev, iop);
}
/*
* Write.
*/
ctwrite(dev, iop)
dev_t dev;
IO *iop;
{
dwrite(SELF->p_ttdev, iop);
}
/*
* Ioctl.
*/
ctioctl(dev, com, vec)
dev_t dev;
struct sgttyb *vec;
{
dioctl(SELF->p_ttdev, com, vec);
}