kprintf.c

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

C
31
字号
/* kprintf.c - kprintf */

#include <conf.h>
#include <kernel.h>
#include <tty.h>
#include <stdarg.h>

int	kputc(struct devsw *, unsigned char);

/*------------------------------------------------------------------------
 *  kprintf  --  kernel printf: formatted, unbuffered output to CONSOLE
 *------------------------------------------------------------------------
 */
void
kprintf(const char *fmt, ...)
{
	va_list		args;
	STATWORD	ps;
	unsigned int	saveof;

	disable(ps);
	saveof = control(CONSOLE, TTC_GOF);
	control(CONSOLE, TTC_SYNC, 1);
	va_start(args, fmt);
        _doprnt(fmt, args, kputc, CONSOLE);
	va_end(args);
	if ((saveof & TOF_SYNC) == 0)
		control(CONSOLE, TTC_SYNC, 0);
	restore(ps);
}

⌨️ 快捷键说明

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