dgcntl.c

来自「TCP-IP红宝书源代码」· C语言 代码 · 共 38 行

C
38
字号
/* dgcntl.c - dgcntl */

#include <conf.h>
#include <kernel.h>
#include <network.h>
#include <ports.h>

/*------------------------------------------------------------------------
 *  dgcntl  -  control function for datagram pseudo-devices
 *------------------------------------------------------------------------
 */
int
dgcntl(struct devsw *pdev, int func, void *arg1, void *arg2)
{
	STATWORD	ps;    
	struct	dgblk	*pdg;
	int		ret;

	disable(ps);
	pdg = (struct dgblk *)pdev->dvioblk;
	ret = OK;
	switch (func) {

		case DG_SETMODE:	/* set mode bits */
			pdg->dg_mode = (int)arg1;
			break;

		case DG_CLEAR:		/* clear queued packets */
			preset(pdg->dg_xport, (void (*)())freebuf);
			break;

		default:
			ret = SYSERR;
	}
	restore(ps);
	return ret;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?