|
|
1.1 ! root 1: /* dgcntl.c - dgcntl */ ! 2: ! 3: #include <conf.h> ! 4: #include <kernel.h> ! 5: #include <network.h> ! 6: ! 7: /*------------------------------------------------------------------------ ! 8: * dgcntl - control function for datagram pseudo-devices ! 9: *------------------------------------------------------------------------ ! 10: */ ! 11: dgcntl(devptr, func, arg) ! 12: struct devsw *devptr; ! 13: int func; ! 14: int arg; ! 15: { ! 16: struct dgblk *dgptr; ! 17: int freebuf(); ! 18: PStype ps; ! 19: int ret; ! 20: ! 21: disable(ps); ! 22: dgptr = (struct dgblk *)devptr->dvioblk; ! 23: ret = OK; ! 24: switch (func) { ! 25: ! 26: case DG_SETMODE: /* set mode bits */ ! 27: dgptr->dg_mode = arg; ! 28: break; ! 29: ! 30: case DG_CLEAR: /* clear queued packets */ ! 31: preset(dgptr->dg_xport, freebuf); ! 32: break; ! 33: ! 34: default: ! 35: ret = SYSERR; ! 36: } ! 37: restore(ps); ! 38: return(ret); ! 39: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.