|
|
1.1 ! root 1: /* dgclose.c - dgclose */ ! 2: ! 3: #include <conf.h> ! 4: #include <kernel.h> ! 5: #include <proc.h> ! 6: #include <network.h> ! 7: ! 8: /*------------------------------------------------------------------------ ! 9: * dgclose - close a datagram pseudo device, making it available again ! 10: *------------------------------------------------------------------------ ! 11: */ ! 12: dgclose(devptr) ! 13: struct devsw *devptr; ! 14: { ! 15: PStype ps; ! 16: struct dgblk *dgptr; ! 17: struct netq *nqptr; ! 18: int nq; ! 19: ! 20: dgptr = (struct dgblk *) devptr->dvioblk; ! 21: disable(ps); ! 22: nq = dgptr->dg_netq; ! 23: nqptr = &Net.netqs[nq]; ! 24: nqptr->valid = FALSE; ! 25: nqptr->uport = -1; ! 26: nqptr->pid = BADPID; ! 27: dgptr->dg_state = DG_FREE; ! 28: restore(ps); ! 29: return(OK); ! 30: } ! 31:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.