本文整理汇总了C++中cngetc函数的典型用法代码示例。如果您正苦于以下问题:C++ cngetc函数的具体用法?C++ cngetc怎么用?C++ cngetc使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cngetc函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: cpu_reboot
/*
* void cpu_reboot(int howto, char *bootstr)
*
* Reboots the system
*
* Deal with any syncing, unmounting, dumping and shutdown hooks,
* then reset the CPU.
*/
void
cpu_reboot(int howto, char *bootstr)
{
/*
* If we are still cold then hit the air brakes
* and crash to earth fast
*/
if (cold) {
doshutdownhooks();
printf("The operating system has halted.\n");
printf("Please press any key to reboot.\n\n");
cngetc();
printf("rebooting...\n");
goto reset;
}
/* Disable console buffering */
/*
* If RB_NOSYNC was not specified sync the discs.
* Note: Unless cold is set to 1 here, syslogd will die during the
* unmount. It looks like syslogd is getting woken up only to find
* that it cannot page part of the binary in as the filesystem has
* been unmounted.
*/
if (!(howto & RB_NOSYNC))
bootsync();
/* Say NO to interrupts */
splhigh();
/* Do a dump if requested. */
if ((howto & (RB_DUMP | RB_HALT)) == RB_DUMP)
dumpsys();
/* Run any shutdown hooks */
doshutdownhooks();
/* Make sure IRQ's are disabled */
IRQdisable;
if (howto & RB_HALT) {
brh_7seg('8');
printf("The operating system has halted.\n");
printf("Please press any key to reboot.\n\n");
cngetc();
}
printf("rebooting...\n\r");
reset:
cpu_reset();
}
开发者ID:lacombar,项目名称:netbsd-alc,代码行数:61,代码来源:brh_machdep.c
示例2: db_more
/*
* Simple pager
*/
int
db_more(int *nl)
{
++*nl;
if (*nl == 20) {
int c;
db_printf("--More--");
c = cngetc();
db_printf("\r");
/*
* A whole screenfull or just one line?
*/
switch (c) {
case '\n': /* just one line */
*nl = 19;
break;
case ' ':
*nl = 0; /* another screenfull */
break;
default: /* exit */
db_printf("\n");
return(-1);
}
}
return(0);
}
开发者ID:alexandermerritt,项目名称:dragonfly,代码行数:30,代码来源:db_output.c
示例3: cpu_reboot
void
cpu_reboot(int howto, char *bootstr)
{
extern void exit(int);
extern void abort(void);
splhigh();
if ((howto & RB_POWERDOWN) == RB_POWERDOWN)
exit(0);
if (howto & RB_HALT) {
printf("\n");
printf("The operating system has halted.\n");
printf("Please press any key to reboot.\n\n");
cnpollc(1);
cngetc();
cnpollc(0);
}
printf("rebooting...\n");
/*
* XXXJDM If we've panic'd, make sure we dump a core
*/
abort();
/* NOTREACHED */
}
开发者ID:lacombar,项目名称:netbsd-alc,代码行数:29,代码来源:cpu.c
示例4: db_more
static void
db_more()
{
register char *p;
boolean_t quit_output = FALSE;
for (p = "--db_more--"; *p; p++)
cnputc(*p);
switch(cngetc()) {
case ' ':
db_output_line = 0;
break;
case 'q':
case CTRL('c'):
db_output_line = 0;
quit_output = TRUE;
break;
default:
db_output_line--;
break;
}
p = "\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b";
while (*p)
cnputc(*p++);
if (quit_output) {
db_error(0);
/* NOTREACHED */
}
}
开发者ID:0xffea,项目名称:gnumach,代码行数:29,代码来源:db_output.c
示例5: db_more
static void
db_more(void)
{
char *p;
int quit_output = 0;
for (p = "--db_more--"; *p; p++)
cnputc(*p);
switch(cngetc()) {
case ' ':
db_output_line = 0;
break;
case 'q':
case CTRL('c'):
db_output_line = 0;
quit_output = 1;
break;
default:
db_output_line--;
break;
}
p = "\b\b\b\b\b\b\b\b\b\b\b \b\b\b\b\b\b\b\b\b\b\b";
while (*p)
cnputc(*p++);
if (quit_output) {
db_error(0);
/* NOTREACHED */
}
}
开发者ID:7shi,项目名称:openbsd-loongson-vc,代码行数:29,代码来源:db_output.c
示例6: shutdown_panic
/*
* Check to see if the system paniced, pause and then reboot
* according to the specified delay.
*/
static void
shutdown_panic(void *junk, int howto)
{
int loop;
if (howto & RB_DUMP) {
if (PANIC_REBOOT_WAIT_TIME != 0) {
if (PANIC_REBOOT_WAIT_TIME != -1) {
kprintf("Automatic reboot in %d seconds - "
"press a key on the console to abort\n",
PANIC_REBOOT_WAIT_TIME);
for (loop = PANIC_REBOOT_WAIT_TIME * 10;
loop > 0; --loop) {
DELAY(1000 * 100); /* 1/10th second */
/* Did user type a key? */
if (cncheckc() != -1)
break;
}
if (!loop)
return;
}
} else { /* zero time specified - reboot NOW */
return;
}
kprintf("--> Press a key on the console to reboot,\n");
kprintf("--> or switch off the system now.\n");
cngetc();
}
}
开发者ID:juanfra684,项目名称:DragonFlyBSD,代码行数:33,代码来源:kern_shutdown.c
示例7: boot
void
boot(int howto)
{
if (cold) {
if ((howto & RB_USERREQ) == 0)
howto |= RB_HALT;
goto haltsys;
}
boothowto = howto;
if ((howto & RB_NOSYNC) == 0) {
vfs_shutdown();
/*
* If we've been adjusting the clock, the todr
* will be out of synch; adjust it now.
*/
if ((howto & RB_TIMEBAD) == 0)
resettodr();
else
printf("WARNING: not updating battery clock\n");
}
uvm_shutdown();
splhigh(); /* Disable interrupts. */
/* Do a dump if requested. */
if (howto & RB_DUMP)
dumpsys();
haltsys:
doshutdownhooks();
if ((howto & RB_POWERDOWN) == RB_POWERDOWN) {
_reg_write_1(LANDISK_PWRMNG, PWRMNG_POWEROFF);
delay(1 * 1000 * 1000);
printf("POWEROFF FAILED!\n");
howto |= RB_HALT;
}
if (howto & RB_HALT) {
printf("\n");
printf("The operating system has halted.\n");
printf("Please press any key to reboot.\n\n");
cnpollc(1);
cngetc();
cnpollc(0);
}
printf("rebooting...\n");
machine_reset();
/*NOTREACHED*/
for (;;) {
continue;
}
}
开发者ID:alenichev,项目名称:openbsd-kernel,代码行数:57,代码来源:machdep.c
示例8: cpu_reboot
void
cpu_reboot(int howto, char *bootstr)
{
/* Take a snapshot before clobbering any registers. */
savectx(curpcb);
if (cold) {
howto |= RB_HALT;
goto haltsys;
}
/* If "always halt" was specified as a boot flag, obey. */
if (boothowto & RB_HALT)
howto |= RB_HALT;
boothowto = howto;
if ((howto & RB_NOSYNC) == 0 && (waittime < 0)) {
waittime = 0;
vfs_shutdown();
/*
* If we've been adjusting the clock, the todr
* will be out of synch; adjust it now.
*/
resettodr();
}
splhigh();
if (howto & RB_DUMP)
dumpsys();
haltsys:
doshutdownhooks();
pmf_system_shutdown(boothowto);
if (howto & RB_HALT) {
printf("\n");
printf("The operating system has halted.\n");
printf("Please press any key to reboot.\n\n");
cnpollc(1); /* For proper keyboard command handling */
cngetc();
cnpollc(0);
}
printf("rebooting...\n\n");
delay(500000);
*(volatile char *)MIPS_PHYS_TO_KSEG1(LED_ADDR) = LED_RESET;
printf("WARNING: reboot failed!\n");
for (;;)
;
}
开发者ID:yazshel,项目名称:netbsd-kernel,代码行数:56,代码来源:machdep.c
示例9: boot
__dead void
boot(int howto)
{
if (cold) {
if ((howto & RB_USERREQ) == 0)
howto |= RB_HALT;
goto haltsys;
}
/*
* If RB_NOSYNC was not specified sync the discs.
* Note: Unless cold is set to 1 here, syslogd will die during the
* unmount. It looks like syslogd is getting woken up only to find
* that it cannot page part of the binary in as the filesystem has
* been unmounted.
*/
if ((howto & RB_NOSYNC) == 0)
bootsync(howto);
if_downall();
uvm_shutdown();
splhigh();
cold = 1;
if ((howto & (RB_DUMP | RB_HALT)) == RB_DUMP)
dumpsys();
haltsys:
config_suspend_all(DVACT_POWERDOWN);
/* Make sure IRQ's are disabled */
IRQdisable;
if ((howto & RB_HALT) != 0) {
if ((howto & RB_POWERDOWN) != 0) {
board_powerdown();
printf("WARNING: powerdown failed!\n");
}
printf("The operating system has halted.\n");
printf("Please press any key to reboot.\n\n");
cnpollc(1);
cngetc();
cnpollc(0);
}
printf("rebooting...\n");
board_reset();
cpu_reset();
printf("reboot failed; spinning\n");
for (;;) ;
/* NOTREACHED */
}
开发者ID:ajinkya93,项目名称:OpenBSD,代码行数:55,代码来源:armish_machdep.c
示例10: scankbd
/*
* XXX we know that scankbd is only called from read/write to interrupt
* a boot program. Since we restart only on ^C and we do that here, we
* always return 0 to avoid a longjmp in the caller.
*/
scankbd()
{
register int c;
c = cngetc();
if (c == ('c'&037)) {
printf("^C");
_stop("");
/* NOTREACHED */
}
return(0);
}
开发者ID:dank101,项目名称:4.4BSD-Alpha,代码行数:17,代码来源:prf.c
示例11: kmgetc_silent
int
kmgetc_silent(
__unused dev_t dev)
{
int c;
c= cngetc();
if (c == '\r') {
c = '\n';
}
return c;
}
开发者ID:MACasuba,项目名称:MACasuba-Utils-git,代码行数:12,代码来源:km.c
示例12: ramd_norm_read
static int
ramd_norm_read(struct read_info *rsp)
{
long bytes_left;
int done, error;
struct buf *bp;
int dotc = 0;
bytes_left = rsp->nbytes;
bp = rsp->bp;
error = 0;
while (bytes_left > 0) {
bp->b_cflags = BC_BUSY;
bp->b_flags = B_PHYS | B_READ;
bp->b_oflags &= ~BO_DONE;
bp->b_blkno = btodb(rsp->offset);
bp->b_bcount = min(rsp->chunk, bytes_left);
bp->b_data = rsp->bufp;
bp->b_error = 0;
/* Initiate read */
(*rsp->strat)(bp);
/* Wait for results */
biowait(bp);
error = bp->b_error;
/* Dot counter */
printf(".");
if (!(++dotc % 40))
printf("\n");
done = bp->b_bcount - bp->b_resid;
bytes_left -= done;
rsp->offset += done;
rsp->bufp += done;
if (error || !done)
break;
if ((rsp->offset == rsp->media_sz) && (bytes_left != 0)) {
printf("\nInsert next media and hit any key...");
cngetc();
printf("\n");
rsp->offset = 0;
}
}
printf("\n");
return error;
}
开发者ID:krytarowski,项目名称:netbsd-current-src-sys,代码行数:52,代码来源:md_root.c
示例13: md_compressed
/*
* Read a maximum of 'nbyte' bytes into 'buf'.
*/
static int
md_compressed(void * buf, int nbyte, struct read_info *rsp)
{
static int dotc = 0;
struct buf *bp;
int nread = 0;
int done, error;
error = 0;
bp = rsp->bp;
nbyte &= ~(DEV_BSIZE - 1);
while (nbyte > 0) {
bp->b_cflags = BC_BUSY;
bp->b_flags = B_PHYS | B_READ;
bp->b_oflags &= ~BO_DONE;
bp->b_blkno = btodb(rsp->offset);
bp->b_bcount = min(rsp->chunk, nbyte);
bp->b_data = buf;
bp->b_error = 0;
/* Initiate read */
(*rsp->strat)(bp);
/* Wait for results */
biowait(bp);
error = bp->b_error;
/* Dot counter */
printf(".");
if (!(++dotc % 40))
printf("\n");
done = bp->b_bcount - bp->b_resid;
nbyte -= done;
nread += done;
rsp->offset += done;
if (error || !done)
break;
if ((rsp->offset == rsp->media_sz) && (nbyte != 0)) {
printf("\nInsert next media and hit any key...");
if (cngetc() != '\n')
printf("\n");
rsp->offset = 0;
}
}
return nread;
}
开发者ID:krytarowski,项目名称:netbsd-current-src-sys,代码行数:55,代码来源:md_root.c
示例14: kmgetc
int
kmgetc(__unused dev_t dev)
{
int c;
c= cngetc();
if (c == '\r') {
c = '\n';
}
cnputcusr(c);
return c;
}
开发者ID:MACasuba,项目名称:MACasuba-Utils-git,代码行数:13,代码来源:km.c
示例15: db_pager
/*
* A simple paging callout function. It supports several simple more(1)-like
* commands as well as a quit command that sets db_pager_quit which db
* commands can poll to see if they should terminate early.
*/
void
db_pager(void)
{
int c, done;
db_capture_enterpager();
db_printf("--More--\r");
done = 0;
while (!done) {
c = cngetc();
switch (c) {
case 'e':
case 'j':
case '\n':
/* Just one more line. */
db_maxlines = 1;
done++;
break;
case 'd':
/* Half a page. */
db_maxlines = db_lines_per_page / 2;
done++;
break;
case 'f':
case ' ':
/* Another page. */
db_maxlines = db_lines_per_page;
done++;
break;
case 'q':
case 'Q':
case 'x':
case 'X':
/* Quit */
db_maxlines = 0;
db_pager_quit = 1;
done++;
break;
#if 0
/* FALLTHROUGH */
default:
cnputc('\007');
#endif
}
}
db_printf(" ");
db_force_whitespace();
db_printf("\r");
db_newlines = 0;
db_capture_exitpager();
}
开发者ID:MattDooner,项目名称:freebsd-west,代码行数:56,代码来源:db_output.c
示例16: db_step_again
boolean_t
db_step_again(void)
{
if (db_inst_count && !(db_inst_count%db_max_inst_count)) {
char c;
db_printf("%d instructions, continue ? (y/n) ",
db_inst_count);
c = cngetc();
db_printf("\n");
if(c == 'n')
return(FALSE);
}
return(TRUE);
}
开发者ID:MACasuba,项目名称:MACasuba-Utils-git,代码行数:14,代码来源:db_run.c
示例17: getchar
int
getchar(void)
{
register int c = cngetc();
if (c == '\r')
c = '\n';
if ((c < ' ' && c != '\n') || c == '\177')
return c;
putchar(c);
return c;
}
开发者ID:alenichev,项目名称:openbsd-kernel,代码行数:15,代码来源:dev_i386.c
示例18: getchar
int
getchar()
{
int c = cngetc();
if (c == '\r')
c = '\n';
if ((c < ' ' && c != '\n') || c == '\177')
return c;
putchar(c);
return c;
}
开发者ID:bradla,项目名称:OpenBSD-Hammer2,代码行数:15,代码来源:machdep.c
示例19: getchar
int
getchar(void)
{
int c;
while ((c = cngetc()) == 0)
;
if (c == '\r')
c = '\n';
else if (c == ('c'&037)) {
panic("^C");
/* NOTREACHED */
}
return c;
}
开发者ID:krytarowski,项目名称:netbsd-current-src-sys,代码行数:15,代码来源:prf.c
示例20: tgetchar
int
tgetchar()
{
int c;
if ((c = cngetc()) == 0)
return(0);
if (c == '\r')
c = '\n';
else if (c == ('c'&037)) {
panic("^C");
/* NOTREACHED */
}
return(c);
}
开发者ID:repos-holder,项目名称:openbsd-patches,代码行数:16,代码来源:tgets.c
注:本文中的cngetc函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论