您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ sys_cputs函数代码示例

51自学网 2021-06-03 08:36:55
  C++
这篇教程C++ sys_cputs函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中sys_cputs函数的典型用法代码示例。如果您正苦于以下问题:C++ sys_cputs函数的具体用法?C++ sys_cputs怎么用?C++ sys_cputs使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了sys_cputs函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: __remap_reserved_page

int__remap_reserved_page(u_int va, u_int pte_flags){  u_int i;  for (i=0; i < __eea->eea_reserved_pages; i++) {    if ((vpt[PGNO((u_int)__eea->eea_reserved_first) + i] & PG_P)) {      if (_exos_self_insert_pte(CAP_ROOT,				ppnf2pte(PGNO(vpt[PGNO((u_int)						       __eea->						       eea_reserved_first) +						 i]), pte_flags),				va, 0, NULL) < 0 ||	  _exos_self_unmap_page(CAP_ROOT,				(u_int)__eea->eea_reserved_first +				i * NBPG) < 0) {	sys_cputs("__remap_reserved_page: can't remap/n");	return -1;      }      UAREA.u_reserved_pages--;      return 0;    }  }  sys_cputs("__remap_reserved_page: none left/n");  return -1;}
开发者ID:aunali1,项目名称:exopc,代码行数:27,


示例2: main

int main(int argc, char** argv){	while(1);	// try to print the kernel entry point as a string!  mua ha ha!	sys_cputs((char*)0xc0100020, 100);	return 0;}
开发者ID:goovdl,项目名称:akaros,代码行数:7,


示例3: __replinish

void__replinish(void){  u_int i;  static int __in_replinishment = 0;  if (__in_replinishment) return;  if (UAREA.u_reserved_pages == __eea->eea_reserved_pages) return;  __in_replinishment = 1;  for (i=0; i < __eea->eea_reserved_pages; i++) {    if (!(vpt[PGNO((u_int)__eea->eea_reserved_first) + i] & PG_P)) {      if (_exos_self_insert_pte(CAP_ROOT, PG_P | PG_U | PG_W,				(u_int)__eea->eea_reserved_first + i * NBPG, 0,				NULL) < 0) {	sys_cputs("__replinish: can't get new page/n");      } else {	if (++UAREA.u_reserved_pages == __eea->eea_reserved_pages) break;      }    }  }  __in_replinishment = 0;}
开发者ID:aunali1,项目名称:exopc,代码行数:26,


示例4: umain

voidumain(int argc, char **argv){        int fd;        char buf[512];        int n, r;			cprintf("/n------------------------------------------------- Testing for 'File Write' replay by opening and reading it----------------/n");	//testCrash = 1;        if ((fd = open("/testfile", O_RDWR )) < 0)                panic("/n open /testfile failed: %e", fd);	         	      cprintf("/n------------------------------------------------- Testing for 'File Write' replay by opening and reading it----------------/n");		cprintf("/n-----------------------------------------------------The contents of the file being read are : ------------------------");	seek(fd, 0);		while ((n = read(fd, buf, sizeof buf-1)) > 0)	{		cprintf("/n=============================================================");                sys_cputs(buf, n);                cprintf("=====================================================/n");	}        cprintf("/n===/n");	close(fd);       }
开发者ID:sid9211,项目名称:OSProject,代码行数:32,


示例5: umain

voidumain(int argc, char **argv){	int fd, n, r;	char buf[512+1];	binaryname = "icode";	cprintf("icode startup/n");	cprintf("icode: open /motd/n");	if ((fd = open("/motd", O_RDONLY)) < 0)		panic("icode: open /motd: %e", fd);	cprintf("icode: read /motd/n");	while ((n = read(fd, buf, sizeof buf-1)) > 0)		sys_cputs(buf, n);	cprintf("icode: close /motd/n");	close(fd);	cprintf("icode: spawn /init/n");	if ((r = execl("/init", "init", "initarg1", "initarg2", (char*)0)) < 0)		panic("icode: spawn /init: %e", r);	panic("icode: unreachable code!/n");}
开发者ID:bosswissam,项目名称:djos,代码行数:27,


示例6: syscall

// Dispatches to the correct kernel function, passing the arguments.int64_tsyscall(uint64_t syscallno, uint64_t a1, uint64_t a2, uint64_t a3, uint64_t a4, uint64_t a5){	// Call the function corresponding to the 'syscallno' parameter.	// Return any appropriate return value.	// LAB 3: Your code here.	//panic("syscall not implemented");	int ret_val = 0;	switch (syscallno) {	case SYS_cputs:		sys_cputs((char *)a1, a2);		break;	case SYS_cgetc:		ret_val = sys_cgetc();		break;	case SYS_getenvid:		ret_val = sys_getenvid();		break;	case SYS_env_destroy:		ret_val = sys_env_destroy(a1);		break;	default:		ret_val = -E_INVAL;		break;	}	return ret_val;}
开发者ID:iprem,项目名称:JOS,代码行数:29,


示例7: umain

voidumain(int argc, char **argv){	int fd, n, r;	char buf[512+1];	binaryname = "icode";	cprintf("icode startup/n");	cprintf("icode: open /motd/n");	if ((fd = open(MOTD, O_RDONLY)) < 0)		panic("icode: open /motd: %e", fd);	cprintf("icode: read /motd/n");	while ((n = read(fd, buf, sizeof buf-1)) > 0) {		cprintf("Writing MOTD/n");		sys_cputs(buf, n);	}	cprintf("icode: close /motd/n");	close(fd);	cprintf("icode: spawn /sbin/init/n");	if ((r = spawnl("/sbin/init", "init", "initarg1", "initarg2", (char*)0)) < 0)		panic("icode: spawn /sbin/init: %e", r);	cprintf("icode: exiting/n");}
开发者ID:N3mes1s,项目名称:hoss,代码行数:28,


示例8: syscall

// Dispatches to the correct kernel function, passing the arguments.int64_tsyscall(uint64_t syscallno, uint64_t a1, uint64_t a2, uint64_t a3, uint64_t a4, uint64_t a5){	// Call the function corresponding to the 'syscallno' parameter.	// Return any appropriate return value.	// LAB 3: Your code here.//	panic("syscall not implemented");	switch (syscallno) {	case SYS_cputs:			sys_cputs((const char *)a1, (size_t)a2);			return 0;	case SYS_cgetc:			return sys_cgetc();        case SYS_getenvid:			return sys_getenvid();        case SYS_env_destroy:			return sys_env_destroy(a1);	case SYS_yield:			sys_yield();			return 0;				case SYS_page_alloc:        		return sys_page_alloc((envid_t)a1, (void *)a2,(int)a3);	case SYS_page_map:			return sys_page_map((envid_t)a1, (void *)a2, (envid_t)a3, (void *)a4, (int)a5);        	case SYS_page_unmap:			return sys_page_unmap((envid_t)a1, (void *)a2);        	case SYS_exofork:			return sys_exofork();        	case SYS_env_set_status:			return sys_env_set_status((envid_t)a1, a2);		case SYS_env_set_pgfault_upcall:			return sys_env_set_pgfault_upcall((envid_t)a1,(void *)a2);			case SYS_ipc_try_send:			return sys_ipc_try_send((envid_t)a1, (uint32_t)a2, (void *)a3, a4);	case SYS_ipc_recv:			return sys_ipc_recv((void *)a1);		case SYS_env_set_trapframe:			return sys_env_set_trapframe((envid_t)a1, (struct Trapframe *)a2);	case SYS_time_msec:			return sys_time_msec();	case SYS_packet_transmit:			return sys_packet_transmit((char*)a1,(size_t)a2);	case SYS_packet_receive:                        return sys_packet_receive((char *)a1);	//lab 7 code from here	case SYS_insmod:			return sys_insmod((char *)a1, (char *)a2,(char *)a3);	case SYS_rmmod:			return sys_rmmod((char *)a1);	case SYS_lsmod:			return sys_lsmod();	case SYS_depmod:			return sys_depmod((char *)a1);	//lab7 code ends here	default:		return -E_NO_SYS;	}}
开发者ID:deepakkumar-b,项目名称:JOS-Labs_Project,代码行数:61,


示例9: syscall

// Dispatches to the correct kernel function, passing the arguments.int32_tsyscall(uint32_t syscallno, uint32_t a1, uint32_t a2, uint32_t a3, uint32_t a4, uint32_t a5){	// Call the function corresponding to the 'syscallno' parameter.	// Return any appropriate return value.	// LAB 3: Your code here.	/*stone's solution for lab3-B*/	int32_t ret = -E_INVAL;	switch (syscallno){		case SYS_cputs:			sys_cputs((char*)a1, a2);			ret = 0;			break;		case SYS_cgetc:			ret = sys_cgetc();			break;		case SYS_getenvid:			ret = sys_getenvid();			break;		case SYS_env_destroy:			ret = sys_env_destroy(a1);			break;		case SYS_map_kernel_page:			ret = sys_map_kernel_page((void*)a1, (void*)a2);			break;		case SYS_sbrk:			ret = sys_sbrk(a1);			break;		default:			break;	}	return ret;	//panic("syscall not implemented");}
开发者ID:stone-SJH,项目名称:joslabs-byStone,代码行数:35,


示例10: syscall

// Dispatches to the correct kernel function, passing the arguments.int32_tsyscall(uint32_t syscallno, uint32_t a1, uint32_t a2, uint32_t a3, uint32_t a4, uint32_t a5){    // Call the function corresponding to the 'syscallno' parameter.    // Return any appropriate return value.    // LAB 3: Your code here.    //    // TBD: gain 10+ percent of performance improvement     // by using goto-label-array.    switch(syscallno) {    case SYS_cputs:	sys_cputs((char *) a1, (size_t) a2);	break;    case SYS_cgetc:	return sys_cgetc();    case SYS_getenvid:	return sys_getenvid();    case SYS_env_destroy:	sys_env_destroy(a1);	break;    case SYS_exofork:	return sys_exofork();    case SYS_env_set_status:	return sys_env_set_status(a1, a2);    default:	cprintf("Error syscall(%u)/n", syscallno);	panic("syscall not implemented");	return -E_INVAL;    }    return 0;}
开发者ID:a19990200130067,项目名称:JOS-pi,代码行数:32,


示例11: syscall

// Dispatches to the correct kernel function, passing the arguments.int32_tsyscall(uint32_t syscallno, uint32_t a1, uint32_t a2, uint32_t a3, uint32_t a4, uint32_t a5){	// Call the function corresponding to the 'syscallno' parameter.	// Return any appropriate return value.	// LAB 3: Your code here.        curenv->env_syscalls++;        switch(syscallno){        case SYS_cputs:                sys_cputs((char *)a1, (size_t)a2);break;        case SYS_cgetc:                sys_cgetc();break;        case SYS_getenvid:                return sys_getenvid();        case SYS_env_destroy:                return sys_env_destroy((envid_t)a1);        case SYS_dump_env:                sys_dump_env();break;        case SYS_page_alloc:                return sys_page_alloc((envid_t)a1, (void *)a2, (int)a3);        case SYS_page_map: {                return sys_page_map((envid_t)a1, (void *)a2,                                    (envid_t)a3, (void *)a4, (int)a5);        }        case SYS_page_unmap:                return sys_page_unmap((envid_t)a1, (void *)a2);        case SYS_exofork:                return sys_exofork();        case SYS_env_set_status:                return sys_env_set_status((envid_t)a1,(int)a2);        case SYS_env_set_trapframe:                return sys_env_set_trapframe((envid_t)a1,                                             (struct Trapframe *)a2);        case SYS_env_set_pgfault_upcall:                return sys_env_set_pgfault_upcall((envid_t)a1, (void *)a2);        case SYS_yield:                sys_yield();break;//new add syscall for lab4;        case SYS_ipc_try_send:                return sys_ipc_try_send((envid_t)a1, (uint32_t)a2,                                        (void *)a3, (unsigned)a4);        case SYS_ipc_recv:                return sys_ipc_recv((void *)a1);        case SYS_ide_read:                sys_ide_read((uint32_t)a1, (void *)a2, (size_t)a3);                break;        case SYS_ide_write:                sys_ide_write((uint32_t)a1, (void *)a2, (size_t)a3);                break;        case SYS_time_msec:                return sys_time_msec();        case NSYSCALLS:                break;        default:                return -E_INVAL;        }        return 0;	//panic("syscall not implemented");}
开发者ID:ichaos,项目名称:jos,代码行数:60,


示例12: umain

voidumain(int argc, char **argv){	set_pgfault_handler(handler);//    cprintf("%s/n",(char*) 0xDEADBEEF);  //  cprintf("-------------/n");    sys_cputs((char*)0xDEADBEEF, 4);}
开发者ID:DoraXingyu,项目名称:JosLab_2015,代码行数:8,


示例13: putch

static void putch(int ch, struct printbuf *b) {	b->buf[b->idx++] = ch;	if (b->idx == 256 - 1) {		sys_cputs(b->buf, b->idx);		b->idx = 0;	}	b->cnt++;}
开发者ID:MahmoudMohamedIsmail,项目名称:FOS-OS-Memory-Management,代码行数:8,


示例14: putch

static void putch(int ch, debugbuf_t **b){	(*b)->buf[(*b)->idx++] = ch;	if ((*b)->idx == BUF_SIZE) {		sys_cputs((*b)->buf, (*b)->idx);		(*b)->idx = 0;	}	(*b)->cnt++;}
开发者ID:kstraube,项目名称:hysim,代码行数:9,


示例15: syscall

// Dispatches to the correct kernel function, passing the arguments.int32_tsyscall(uint32_t syscallno, uint32_t a1, uint32_t a2, uint32_t a3, uint32_t a4, uint32_t a5){	// Call the function corresponding to the 'syscallno' parameter.	// Return any appropriate return value.	// LAB 3: Your code here.    /* lj */    int ret = 0;    switch(syscallno) {        case SYS_cputs:            sys_cputs((const char *)a1, a2);        break;        case SYS_cgetc:            ret = sys_cgetc();        break;        case SYS_getenvid:            ret = sys_getenvid();        break;        case SYS_env_destroy:            ret = sys_env_destroy(a1);        break;        case SYS_yield:            sys_yield();        break;        case SYS_exofork:            ret = sys_exofork();        break;        case SYS_env_set_status:            ret = sys_env_set_status((envid_t)a1, a2);        break;        case SYS_page_alloc:            ret = sys_page_alloc((envid_t)a1, (void *)a2, a3);        break;        case SYS_page_map:            ret = sys_page_map((envid_t)a1, (void *)a2, (envid_t)a3, (void *)a4, a5);        break;        case SYS_page_unmap:            ret = sys_page_unmap((envid_t)a1, (void *)a2);        break;        case SYS_env_set_pgfault_upcall:            ret = sys_env_set_pgfault_upcall((envid_t)a1, (void *)a2);        break;        case SYS_ipc_try_send:            ret = sys_ipc_try_send((envid_t)a1, a2, (void *)a3, a4);        break;        case SYS_ipc_recv:            ret = sys_ipc_recv((void *)a1);        break;        default:            ret = -E_INVAL;        break;    }    //panic("syscall not implemented");    //cprintf("%d return to user %d/n", syscallno, ret);    return ret;}
开发者ID:dannoy,项目名称:JOS,代码行数:58,


示例16: syscall

// Dispatches to the correct kernel function, passing the arguments.int32_tsyscall(uint32_t syscallno, uint32_t a1, uint32_t a2, uint32_t a3, uint32_t a4, uint32_t a5){	// Call the function corresponding to the 'syscallno' parameter.	// Return any appropriate return value.	// LAB 3: Your code here.	int32_t ret = -E_INVAL;	switch(syscallno) {		case SYS_cputs:			sys_cputs((char *)a1, a2);			break;		case SYS_cgetc:			ret = sys_cgetc();			break;		case SYS_getenvid:			ret = sys_getenvid();			break;		case SYS_env_destroy:			ret = sys_env_destroy(a1);			break;		case SYS_yield:			sys_yield();			ret = 0;			break;		case SYS_map_kernel_page:			ret = sys_map_kernel_page((void *)a1, (void *)a2);			break;		case SYS_sbrk:			ret = sys_sbrk(a1);			break;		case SYS_exofork:			ret = sys_exofork();			break;		case SYS_env_set_status:			ret = sys_env_set_status(a1,a2);			break;		case SYS_page_alloc:			ret = sys_page_alloc(a1,(void*)a2,a3);			break;		case SYS_page_map:			ret = sys_page_map(a1,(void*)a2,a3,(void*)a4,a5);			break;		case SYS_page_unmap:			ret = sys_page_unmap(a1,(void*)a2);			break;		case SYS_env_set_pgfault_upcall:			ret = sys_env_set_pgfault_upcall(a1,(void*)a2);			break;		case SYS_ipc_try_send:			ret = sys_ipc_try_send(a1,a2,(void*)a3,a4);			break;		case SYS_ipc_recv:			ret = sys_ipc_recv((void*)a1);	}	return ret;//	panic("syscall not implemented");}
开发者ID:binghe2001021,项目名称:joslabs,代码行数:58,


示例17: cputchar

voidcputchar(int ch){	char c = ch;	// Unlike standard Unix's putchar,	// the cputchar function _always_ outputs to the system console.	sys_cputs(&c, 1);}
开发者ID:aaandrewww,项目名称:authcontrol,代码行数:9,


示例18: wrong

voidwrong(int rfd, int kfd, int off){	char buf[100];	int n;	seek(rfd, off);	seek(kfd, off);	cprintf("shell produced incorrect output./n");	cprintf("expected:/n===/n");	while ((n = read(kfd, buf, sizeof buf-1)) > 0)		sys_cputs(buf, n);	cprintf("===/ngot:/n===/n");	while ((n = read(rfd, buf, sizeof buf-1)) > 0)		sys_cputs(buf, n);	cprintf("===/n");	exit();}
开发者ID:aaandrewww,项目名称:authcontrol,代码行数:19,


示例19: vcprintf

int vcprintf(const char *fmt, va_list ap) {	struct printbuf b;	b.idx = 0;	b.cnt = 0;	vprintfmt((void*) putch, &b, fmt, ap);	sys_cputs(b.buf, b.idx);	return b.cnt;}
开发者ID:MahmoudMohamedIsmail,项目名称:FOS-OS-Memory-Management,代码行数:10,


示例20: syscall

// Dispatches to the correct kernel function, passing the arguments.int32_tsyscall(uint32_t syscallno, uint32_t a1, uint32_t a2, uint32_t a3, uint32_t a4, uint32_t a5){	// Call the function corresponding to the 'syscallno' parameter.	// Return any appropriate return value.	// LAB 3: Your code here.	int32_t r =0;	switch(syscallno){		case SYS_cputs:			sys_cputs((const char*)a1,(size_t)a2);			break;		case SYS_cgetc:			r = sys_cgetc();			break;		case SYS_getenvid:			r = sys_getenvid();			break;		case SYS_env_destroy:			r = sys_env_destroy((envid_t)a1);			break;		case SYS_yield:			sys_yield();			r =0;			break;		case SYS_exofork:			r = sys_exofork();			break;		case SYS_env_set_status:			r = sys_env_set_status((envid_t)a1,(int)a2);			break;		case SYS_page_alloc:			r = sys_page_alloc((envid_t)a1 ,(void *)a2, (int)a3);			break;		case SYS_page_map:			r = sys_page_map((envid_t)a1, (void *)a2, (envid_t)a3, (void *)a4, (int)a5);			break;		case SYS_page_unmap:			r = sys_page_unmap((envid_t)a1,(void *)a2);			break;		case SYS_env_set_pgfault_upcall:			r = sys_env_set_pgfault_upcall((envid_t)a1, (void *)a2);			break;		case SYS_ipc_try_send:			r = sys_ipc_try_send((envid_t)a1, (uint32_t)a2, (void *)a3, (unsigned int)a4);			break;		case SYS_ipc_recv:			r = sys_ipc_recv((void *)a1);			break;		default:			r = -E_INVAL;	}	return r;	panic("syscall not implemented");}
开发者ID:yaobaiwei,项目名称:JOS,代码行数:55,


示例21: page_fault_handler

                           /* of stack and still be valid  */intpage_fault_handler (u_int va, u_int errcode, u_int eflags, u_int eip,		    u_int esp){  u_int page = va & ~PGMASK;  int ret;  u_int oldxsp;  if (UAREA.u_in_pfault > 5) {    static int done_before = 0;        if (!done_before) {      sys_cputs("<< Recursive page fault to at least 6 levels. "		"Continuing... >>/n");      done_before = 1;    }  }  UAREA.u_in_pfault++;  /* fault in the BSS */  if (va >= PGROUNDUP((u_int)&edata) && va < (u_int)&end &&      !(errcode & FEC_PR)) {    if ((ret = _exos_self_insert_pte (0, PG_U|PG_W|PG_P, page, ESIP_URGENT,				      NULL)) < 0) {      sys_cputs ("page_fault_handler(bss): _exos_self_insert_pte failed/n");      exit(-1);    }    bzero((char*)page, NBPG);    goto leave;  }  /* copy-on-write fault */  if ((vpd[PDENO(va)] & (PG_P|PG_U)) == (PG_P|PG_U)) {    Pte pte = vpt[va >> PGSHIFT];        if (((pte & (PG_COW | PG_P | PG_U)) == (PG_COW | PG_P | PG_U)) &&	(errcode & FEC_WR)) {      do_cow_fault (va, pte, eip);      goto leave;    }  } 
开发者ID:aunali1,项目名称:exopc,代码行数:42,


示例22: ros_vdebug

int ros_vdebug(const char *fmt, va_list ap){	debugbuf_t b;	debugbuf_t *COUNT(1) bp = &b;	b.idx = 0;	b.cnt = 0;	ros_vdebugfmt((void*)putch, (void*)&bp, fmt, ap);	sys_cputs(b.buf, b.idx);	return b.cnt;}
开发者ID:kstraube,项目名称:hysim,代码行数:12,


示例23: syscall

// Dispatches to the correct kernel function, passing the arguments.int32_tsyscall(uint32_t syscallno, uint32_t a1, uint32_t a2, uint32_t a3, uint32_t a4, uint32_t a5){	// Call the function corresponding to the 'syscallno' parameter.	// Return any appropriate return value.	// LAB 3: Your code here.//	panic("syscall not implemented");	switch (syscallno) {	case SYS_cputs:		sys_cputs((char *)a1, a2);		break;	case SYS_cgetc:		return sys_cgetc();	case SYS_env_destroy:		return sys_env_destroy(a1);	case SYS_getenvid:		return sys_getenvid();	case SYS_yield:		sys_yield();		break;	case SYS_page_alloc:		return sys_page_alloc(a1, (void *)a2, a3);	case SYS_page_map:		return sys_page_map(a1, (void *)a2, a3, (void *)a4, a5);	case SYS_page_unmap:		return sys_page_unmap(a1, (void *)a2);	case SYS_env_set_status:		return sys_env_set_status(a1, a2);	case SYS_exofork:		return sys_exofork();	case SYS_env_set_pgfault_upcall:		return sys_env_set_pgfault_upcall(a1, (void *)a2);	case SYS_ipc_try_send:		return sys_ipc_try_send(a1, a2, (void*)a3, a4);	case SYS_ipc_recv:		return sys_ipc_recv((void*)a1);	case SYS_env_set_trapframe:		return sys_env_set_trapframe(a1, (struct Trapframe *)a2);	case SYS_time_msec:		return sys_time_msec();	case SYS_trans_pkt:		return sys_trans_pkt((void*)a1, a2);	case SYS_recv_pkt:		return sys_recv_pkt((void *)a1, (size_t *)a2);	default:		return -E_INVAL;	}	return 0;}
开发者ID:Cai41,项目名称:mit-6.828,代码行数:53,


示例24: syscall

// Dispatches to the correct kernel function, passing the arguments.int32_tsyscall(uint32_t syscallno, uint32_t a1, uint32_t a2, uint32_t a3, uint32_t a4, uint32_t a5){	// Call the function corresponding to the 'syscallno' parameter.	// Return any appropriate return value.	// LAB 3: Your code here.	switch (syscallno){		case SYS_getenvid:			return sys_getenvid();		case SYS_cputs:			sys_cputs((const char*)a1, a2);			return 0;		case SYS_cgetc:			return sys_cgetc();		case SYS_env_destroy:			return sys_env_destroy(a1);		case SYS_map_kernel_page:			return sys_map_kernel_page((void*)a1, (void*)a2);		case SYS_sbrk:			return sys_sbrk(a1);		case SYS_yield:			sys_yield();			return 0;		case SYS_exofork:			return sys_exofork();		case SYS_env_set_status:			return sys_env_set_status((envid_t)a1, (int)a2);		case SYS_page_alloc:			return sys_page_alloc((envid_t)a1, (void *)a2, 						(int)a3);		case SYS_page_map:			return sys_page_map((envid_t)*((uint32_t*)a1),					(void*)*((uint32_t*)a1+1), 					(envid_t)*((uint32_t*)a1+2), 					(void*)*((uint32_t*)a1+3), 					(int)*((uint32_t*)a1+4));		case SYS_page_unmap:			return sys_page_unmap((envid_t)a1, (void*)a2);		case SYS_env_set_priority:			return sys_env_set_priority((envid_t)a1, (int) a2);		case SYS_env_set_pgfault_upcall:			return sys_env_set_pgfault_upcall((envid_t)a1,						 (void*)a2);		case SYS_ipc_recv:			return sys_ipc_recv((void*)a1);		case SYS_ipc_try_send:			return sys_ipc_try_send((envid_t)a1, a2, 						(void*)a3, (int)a4);		default:			return -E_INVAL;	}}
开发者ID:yuki252111,项目名称:os,代码行数:53,


示例25: syscall

// Dispatches to the correct kernel function, passing the arguments.	int64_tsyscall(uint64_t syscallno, uint64_t a1, uint64_t a2, uint64_t a3, uint64_t a4, uint64_t a5){	// Call the function corresponding to the 'syscallno' parameter.	// Return any appropriate return value.	// LAB 3: Your code here.	uint64_t retval = 0;	switch (syscallno) {		case SYS_cputs:			sys_cputs((char *) a1, (size_t) a2);			return retval;		case SYS_cgetc:			return (int64_t) sys_cgetc();		case SYS_getenvid:			return (int64_t) sys_getenvid();		case SYS_env_destroy:			return (int64_t) sys_env_destroy((envid_t) a1);		case SYS_yield:			sys_yield();			return retval;		case SYS_exofork:			return (int64_t)sys_exofork();		case SYS_page_alloc:			return (int64_t)sys_page_alloc((envid_t)a1, (void *)a2, (int)a3);		case SYS_page_map:			return (int64_t)sys_page_map((envid_t)a1, (void *)a2, (envid_t)a3, (void *)a4, (int)a5);		case SYS_page_unmap:			return (int64_t)sys_page_unmap((envid_t)a1, (void *)a2);		case SYS_env_set_status:			return (int64_t)sys_env_set_status((envid_t)a1, (int)a2);		case SYS_env_set_pgfault_upcall:			return (int64_t)sys_env_set_pgfault_upcall((envid_t)a1, (void *)a2);		case SYS_ipc_try_send:			return (int64_t) sys_ipc_try_send((envid_t) a1, (uint32_t) a2, (void *) a3, (unsigned) a4);		case SYS_ipc_recv:			return (int64_t)sys_ipc_recv((void*)a1);		case SYS_env_set_trapframe:			return sys_env_set_trapframe((envid_t)a1, (struct Trapframe*)a2);		case SYS_time_msec:			return sys_time_msec();		case SYS_net_try_send:			return sys_net_try_send((char *) a1, (int) a2);		case SYS_net_try_receive:			return sys_net_try_receive((char *) a1, (int *) a2);		default:			return -E_INVAL;	}	panic("syscall not implemented");}
开发者ID:ajsbu,项目名称:cse506,代码行数:52,


示例26: umain

    voidumain(int argc, char **argv){    int rfd, wfd;    char buf[512];    int n, r;    if ((rfd = open("/newmotd", O_RDONLY)) < 0)        panic("open /newmotd: %e", rfd);    if ((wfd = open("/motd", O_RDWR)) < 0)        panic("open /motd: %e", wfd);    cprintf("file descriptors %d %d/n", rfd, wfd);    if (rfd == wfd)        panic("open /newmotd and /motd give same file descriptor");    cprintf("OLD MOTD/n===/n");    while ((n = read(wfd, buf, sizeof buf-1)) > 0)        sys_cputs(buf, n);    cprintf("===/n");    seek(wfd, 0);    if ((r = ftruncate(wfd, 0)) < 0)        panic("truncate /motd: %e", r);    cprintf("NEW MOTD/n===/n");    while ((n = read(rfd, buf, sizeof buf-1)) > 0) {        sys_cputs(buf, n);        if ((r = write(wfd, buf, n)) != n)            panic("write /motd: %e", r);    }    cprintf("===/n");    if (n < 0)        panic("read /newmotd: %e", n);    close(rfd);    close(wfd);}
开发者ID:HarounH,项目名称:COL331_HardwareVirtualization,代码行数:38,


示例27: syscall

// Dispatches to the correct kernel function, passing the arguments.int32_tsyscall(uint32_t syscallno, uint32_t a1, uint32_t a2, uint32_t a3, uint32_t a4, uint32_t a5){	// Call the function corresponding to the 'syscallno' parameter.	// Return any appropriate return value.	// LAB 3: Your code here.	switch (syscallno) {		case (SYS_cputs):			sys_cputs((const char *) a1, a2);			return 0;		case (SYS_cgetc):			return sys_cgetc();		case (SYS_getenvid):			return sys_getenvid();		case (SYS_env_destroy):			return sys_env_destroy(a1, a2);		case (SYS_yield):			sys_yield();			return 0;		case (SYS_exofork):			return sys_exofork();		case (SYS_env_set_status):			return sys_env_set_status(a1, a2);		case (SYS_page_alloc):			return sys_page_alloc(a1, (void *) a2, a3);		case (SYS_page_map):			return sys_page_map(a1, (void *) a2, a3, (void *) a4, a5);		case (SYS_page_unmap):			return sys_page_unmap(a1, (void *) a2);		case (SYS_env_set_pgfault_upcall):			return sys_env_set_pgfault_upcall(a1, (void *) a2);		case (SYS_ipc_try_send):			return sys_ipc_try_send(a1, a2, (void *) a3, a4);		case (SYS_ipc_recv):			return sys_ipc_recv((void *) a1);		case (SYS_env_set_trapframe):			return sys_env_set_trapframe(a1, (struct Trapframe *) a2);		case (SYS_time_msec):			return sys_time_msec();		case (SYS_e1000_transmit):			return sys_e1000_transmit(a1, (char *) a2, a3);	default:		return -E_INVAL;	}}
开发者ID:bdmalab,项目名称:6.828,代码行数:47,


示例28: devcons_write

static ssize_tdevcons_write(struct Fd *fd, const void *vbuf, size_t n){	size_t tot, m;	char buf[128];	// mistake: have to nul-terminate arg to sys_cputs,	// so we have to copy vbuf into buf in chunks and nul-terminate.	for (tot = 0; tot < n; tot += m) {		m = n - tot;		if (m > sizeof(buf) - 1)			m = sizeof(buf) - 1;		memmove(buf, (char*)vbuf + tot, m);		sys_cputs(buf, m);	}	return tot;}
开发者ID:aaandrewww,项目名称:authcontrol,代码行数:17,


示例29: syscall

// Dispatches to the correct kernel function, passing the arguments.uint32_tsyscall(uint32_t syscallno, uint32_t a1, uint32_t a2, uint32_t a3, uint32_t a4, uint32_t a5){	// Call the function corresponding to the 'syscallno' parameter.	// Return any appropriate return value.	// LAB 3: Your code here.	switch (syscallno){			case SYS_cputs:			sys_cputs( (const char *)a1, a2);			return 0;		case SYS_cgetc:			return sys_cgetc();		case SYS_getenvid:			return sys_getenvid();		case SYS_env_destroy:			return sys_env_destroy(a1);				case SYS_yield:			sys_yield();			return 0;		case SYS_exofork:			return sys_exofork();		case SYS_env_set_status:			return sys_env_set_status(a1, a2);		case SYS_page_alloc:				return sys_page_alloc(a1, (void *)a2, a3);		case SYS_page_map:			return sys_page_map(a1, (void *)a2, a3, (void *)a4, a5);		case SYS_env_set_trapframe:			return sys_env_set_trapframe(a1, (struct Trapframe *)a2);				case SYS_page_unmap:			return sys_page_unmap(a1, (void *)a2);		case SYS_env_set_pgfault_upcall:			return sys_env_set_pgfault_upcall(a1, (void *)a2);		case SYS_ipc_try_send:			return sys_ipc_try_send(a1, a2, (void *)a3, a4);		case SYS_ipc_recv:			return sys_ipc_recv((void *)a1);		default: panic("this syscall ( %d )is not yet implemented", syscallno); 	}}
开发者ID:ren85,项目名称:jos2006,代码行数:44,


示例30: cputs

// `High'-level console I/O.  Used by readline and cprintf.voidcputs(const char *str){	if (read_cs() & 3)		return sys_cputs(str);	// use syscall from user mode	// Hold the console spinlock while printing the entire string,	// so that the output of different cputs calls won't get mixed.	// Implement ad hoc recursive locking for debugging convenience.	bool already = spinlock_holding(&cons_lock);	if (!already)		spinlock_acquire(&cons_lock);	char ch;	while (*str)		cons_putc(*str++);	if (!already)		spinlock_release(&cons_lock);}
开发者ID:khanotations,项目名称:pios,代码行数:21,



注:本文中的sys_cputs函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ sys_data_get函数代码示例
C++ sys_check_timeouts函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。