diff options
author | phk <phk@FreeBSD.org> | 1996-10-20 18:24:17 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1996-10-20 18:24:17 +0000 |
commit | ea3476f34db58155dd54a57b1f484cda34b4799d (patch) | |
tree | 490c229a5f1fd7bb348bdb449d91368c3020b03c /sys/gnu/isdn/iispy.c | |
parent | 64291ea9abdfb9c1ed60f0a3ef2e8ff6893a6545 (diff) | |
download | FreeBSD-src-ea3476f34db58155dd54a57b1f484cda34b4799d.zip FreeBSD-src-ea3476f34db58155dd54a57b1f484cda34b4799d.tar.gz |
Removing old isdn stuff.
Diffstat (limited to 'sys/gnu/isdn/iispy.c')
-rw-r--r-- | sys/gnu/isdn/iispy.c | 201 |
1 files changed, 0 insertions, 201 deletions
diff --git a/sys/gnu/isdn/iispy.c b/sys/gnu/isdn/iispy.c deleted file mode 100644 index 4b6e83a..0000000 --- a/sys/gnu/isdn/iispy.c +++ /dev/null @@ -1,201 +0,0 @@ -/* @(#)$Id: iispy.c,v 1.11 1996/03/28 14:27:51 scrappy Exp $ - ******************************************************************************* - * II - Version 0.1 $Revision: 1.11 $ $State: Exp $ - * - * Copyright 1994 Dietmar Friede - ******************************************************************************* - * Bug reports, patches, comments, suggestions should be sent to: - * - * jkr@saarlink.de or jkrause@guug.de - * - ******************************************************************************* - */ - -#include "ispy.h" -#if NISPY > 0 - -#include <sys/param.h> -#include <sys/buf.h> -#include <sys/systm.h> -#include <sys/ioctl.h> -#include <sys/tty.h> -#include <sys/proc.h> -#include <sys/uio.h> -#include <sys/kernel.h> -#include <sys/conf.h> -#ifdef DEVFS -#include <sys/devfsext.h> -#endif /*DEVFS*/ -/*#include "malloc.h"*/ - -#include <gnu/isdn/isdn_ioctl.h> - - -int ispy_applnr; -static int next_if =0; -static unsigned long ispy_cnt, ispy_out; -static const char dir = 0; -#define ISPY_SIZE 260 -#define OPEN 1 -#define READ_WAIT 2 -#define ISPYBUF 16 -#define ISPYMASK (ISPYBUF-1) -/* ISPYBUF has to be a power of 2 */ - -static -struct ispy_data -{ - struct ispy_buf - { - unsigned long cnt; - struct timeval stamp; - char ibuf[ISPY_SIZE]; - unsigned char dir; - int ilen; - } b[ISPYBUF]; - int state; -#ifdef DEVFS - void *devfs_token; -#endif -} ispy_data[NISPY]; - -static d_open_t ispyopen; -static d_close_t ispyclose; -static d_read_t ispyread; -static d_ioctl_t ispyioctl; - -#define CDEV_MAJOR 59 -static struct cdevsw ispy_cdevsw = - { ispyopen, ispyclose, ispyread, nowrite, /*59*/ - ispyioctl, nostop, nullreset, nodevtotty,/* ispy */ - seltrue, nommap, NULL, "ispy", NULL, -1 }; - - -int -ispyattach(int ap) -{ - struct ispy_data *ispy; - - if(next_if >= NISPY) - return(-1); - ispy= &ispy_data[next_if]; - ispy->state= 0; - ispy_applnr= ap; -#ifdef DEVFS - ispy->devfs_token = - devfs_add_devswf(&ispy_cdevsw, next_if, DV_CHR, 0, 0, - 0600, "isdn/ispy%d", next_if); -#endif - return(next_if++); -} - -int -ispy_input(int no, int len, char *buf, int out) -{ - struct ispy_data *ispy= &ispy_data[no]; - struct ispy_buf *b= &ispy->b[ispy_cnt&ISPYMASK]; - - if(len > ISPY_SIZE) - return(0); - if(len) - { - b->cnt= ispy_cnt++; - b->stamp= time; - b->dir= out; - bcopy(buf, b->ibuf, len); - } - b->ilen= len; - if(ispy->state & READ_WAIT) - { - ispy->state &= ~READ_WAIT; - wakeup((caddr_t) &ispy->state); - } - return(len); -} - -static int -ispyopen(dev_t dev, int flags, int fmt, struct proc *p) -{ - struct ispy_data *ispy; - - if (minor(dev)>NISPY) - return (ENXIO); - - ispy= &ispy_data[minor(dev)]; - - if(ispy->state&OPEN) return(EBUSY); - ispy->state |= OPEN; - - return (0); -} - -static int -ispyclose(dev_t dev, int flags, int fmt, struct proc *p) -{ - struct ispy_data *ispy= &ispy_data[minor(dev)]; - - if(ispy->state & READ_WAIT) - wakeup((caddr_t) &ispy->state); - ispy->state = 0; - return (0); -} - -static int -ispyioctl (dev_t dev, int cmd, caddr_t data, int flags, struct proc *p) -{ - switch (cmd) { - default: - return (ENOTTY); - } - return (0); -} - -static int -ispyread(dev_t dev, struct uio * uio, int ioflag) -{ - int x; - int error = 0; - struct ispy_data *ispy= &ispy_data[minor(dev)]; - struct ispy_buf *b; - - if((ispy_cnt-ispy_out) > ISPYBUF) - ispy_out= ispy_cnt - ISPYBUF; - b= &ispy->b[ispy_out&ISPYMASK]; - ispy_out++; - while(b->ilen == 0) - { - ispy->state |= READ_WAIT; - if(error= tsleep((caddr_t) &ispy->state, TTIPRI | PCATCH, "ispy", 0 )) - return(error); - } - - x = splhigh(); - if(b->ilen) - { - error = uiomove((char *) &b->dir, 1, uio); - if(error == 0) - error = uiomove((char *) &b->cnt - ,sizeof(unsigned long)+sizeof(struct timeval)+b->ilen, uio); - b->ilen= 0; - } - splx(x); - return error; -} - -static ispy_devsw_installed = 0; - -static void -ispy_drvinit(void *unused) -{ - dev_t dev; - - if( ! ispy_devsw_installed ) { - dev = makedev(CDEV_MAJOR, 0); - cdevsw_add(&dev,&ispy_cdevsw, NULL); - ispy_devsw_installed = 1; - } -} - -SYSINIT(ispydev,SI_SUB_DRIVERS,SI_ORDER_MIDDLE+CDEV_MAJOR,ispy_drvinit,NULL) - -#endif |