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

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

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

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

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

示例1: myos_user_getID

passwd_myos* myos_user_getID(int id){	int ret=syscall2(69,id,(uint32_t)&myos_pass);	if (ret!=0)		return &myos_pass;	else		return NULL;}
开发者ID:0xmilk,项目名称:How-to-Make-a-Computer-Operating-System,代码行数:7,


示例2: register_named_ipc_port

int register_named_ipc_port( const char* name, ipc_port_id port_id ) {    return syscall2(        SYS_register_named_ipc_port,        ( int )name,        port_id    );}
开发者ID:csko,项目名称:yaosp,代码行数:7,


示例3: sys_debug_hardware_timer_read

errval_t sys_debug_hardware_timer_read(uintptr_t* v){    struct sysret sr        = syscall2(SYSCALL_DEBUG, DEBUG_HARDWARE_TIMER_READ);    *v = sr.value;    return sr.error;}
开发者ID:XuNazgul,项目名称:cmpe295A,代码行数:7,


示例4: myos_user_getN

passwd_myos* myos_user_getN(const char* name){	int ret=syscall2(68,(uint32_t)name,(uint32_t)&myos_pass);	if (ret!=0)		return &myos_pass;	else		return NULL;}
开发者ID:0xmilk,项目名称:How-to-Make-a-Computer-Operating-System,代码行数:7,


示例5: PCILx_Init

static int PCILx_Init(LIBBASETYPEPTR LIBBASE){    APTR KernelBase;    STRPTR arch;    int ret;    D(bug("LinuxPCI: Initializing/n"));    KernelBase = OpenResource("kernel.resource");    if (!KernelBase)    	return FALSE;    /* Make sure we are running on Linux. Otherwise we will just       crash at first syscall. */    arch = (STRPTR)KrnGetSystemAttr(KATTR_Architecture);    if (strncmp(arch, "linux", 5))    {    	D(bug("LinuxPCI: Running on %s, not on Linux/n", arch));    	return FALSE;    }    ret = syscall1(__NR_iopl, 3);    D(bug("LinuxPCI: iopl(3)=%d/n", ret));    LIBBASE->psd.fd = syscall2(__NR_open, (IPTR)"/dev/mem", 2);    D(bug("LinuxPCI: /dev/mem fd=%d/n", LIBBASE->psd.fd));    if (ret==0)	return TRUE;    D(bug("LinuxPCI: has to be root in order to use this hidd/n"));    return FALSE;}
开发者ID:michalsc,项目名称:AROS,代码行数:34,


示例6: get_named_ipc_port

int get_named_ipc_port( const char* name, ipc_port_id* port_id ) {    return syscall2(        SYS_get_named_ipc_port,        ( int )name,        ( int )port_id    );}
开发者ID:csko,项目名称:yaosp,代码行数:7,


示例7: sleep

unsigned int sleep( unsigned int seconds ) {    uint64_t time;    time = seconds * 1000000;    syscall2( SYS_sleep_thread, ( int )&time, ( int )NULL );    return 0;}
开发者ID:csko,项目名称:yaosp,代码行数:9,


示例8: sys_debug_hardware_global_timer_read

errval_t sys_debug_hardware_global_timer_read(uint64_t *ret){    struct sysret sr;    uint32_t l, h;    do {        h = syscall2(SYSCALL_DEBUG, DEBUG_HARDWARE_GLOBAL_TIMER_HIGH).value;        l = syscall2(SYSCALL_DEBUG, DEBUG_HARDWARE_GLOBAL_TIMER_LOW).value;        // read high again, in case it changed        sr = syscall2(SYSCALL_DEBUG, DEBUG_HARDWARE_GLOBAL_TIMER_HIGH);    } while(h != sr.value && err_is_ok(sr.error));    if(err_is_ok(sr.error) && ret) {        *ret = (((uint64_t) h) << 32) | ((uint32_t) l);    }    return sr.error;}
开发者ID:XuNazgul,项目名称:cmpe295A,代码行数:19,


示例9: sys_getcwd

static uint32_t sys_getcwd(uint32_t arg[]){	char *buf = (char *)arg[0];	size_t len = (size_t) arg[1];	/* See the comment of 'host_map_user' in arch/um/kernel/host_syscall.c for details. */	if (host_map_user(current, (uintptr_t) buf, len, 1) < 0)		return -1;	int ret = sysfile_getcwd(buf, len);	syscall2(__NR_munmap, (uintptr_t) buf, len);	return ret;}
开发者ID:Aresthu,项目名称:ucore_plus,代码行数:12,


示例10: fstat

int fstat( int fd, struct stat* stat ) {    int error;    error = syscall2( SYS_fstat, fd, ( int )stat );    if ( error < 0 ) {        errno = -error;        return -1;    }    return 0;}
开发者ID:csko,项目名称:yaosp,代码行数:12,


示例11: dup2

int dup2( int old_fd, int new_fd ) {    int error;    error = syscall2( SYS_dup2, old_fd, new_fd );    if ( error < 0 ) {        errno = -error;        return -1;    }    return error;}
开发者ID:0xmilk,项目名称:How-to-Make-a-Computer-Operating-System,代码行数:12,


示例12: access

int access( const char* pathname, int mode ) {    int error;    error = syscall2(        SYS_access,        ( int )pathname,        mode    );    if ( error < 0 ) {        errno = -error;        return -1;    }    return 0;}
开发者ID:0xmilk,项目名称:How-to-Make-a-Computer-Operating-System,代码行数:16,


示例13: mmap

mapid_tmmap (int fd, void *addr){  return syscall2 (SYS_MMAP, fd, addr);}
开发者ID:ruanmk,项目名称:Homework,代码行数:5,


示例14: munmap

int munmap(void *addr, size_t len){	return (int)syscall2(__NR_munmap, (unsigned long)addr, (unsigned long)len);}
开发者ID:ccotter,项目名称:libdeterm,代码行数:4,


示例15: seek

voidseek (int fd, unsigned position) {  syscall2 (SYS_SEEK, fd, position);}
开发者ID:ruanmk,项目名称:Homework,代码行数:5,


示例16: sys_debug_get_apic_ticks_per_sec

errval_t sys_debug_get_apic_ticks_per_sec(uint32_t *ret){    struct sysret sr = syscall2(SYSCALL_DEBUG, DEBUG_GET_APIC_TICKS_PER_SEC);    *ret = sr.value;    return sr.error;}
开发者ID:XuNazgul,项目名称:cmpe295A,代码行数:6,


示例17: sys_debug_flush_cache

errval_t sys_debug_flush_cache(void){    return syscall2(SYSCALL_DEBUG, DEBUG_FLUSH_CACHE).error;}
开发者ID:XuNazgul,项目名称:cmpe295A,代码行数:4,


示例18: sys_debug_get_apic_id

errval_t sys_debug_get_apic_id(uint8_t *ret){    struct sysret sr = syscall2(SYSCALL_DEBUG, DEBUG_GET_APIC_ID);    *ret = sr.value;    return sr.error;}
开发者ID:XuNazgul,项目名称:cmpe295A,代码行数:6,


示例19: sys_debug_get_apic_timer

errval_t sys_debug_get_apic_timer(uint32_t *ret){    struct sysret sr = syscall2(SYSCALL_DEBUG, DEBUG_GET_APIC_TIMER);    *ret = sr.value;    return sr.error;}
开发者ID:XuNazgul,项目名称:cmpe295A,代码行数:6,


示例20: sys_debug_timeslice_counter_read

errval_t sys_debug_timeslice_counter_read(uint64_t *ret){    struct sysret sr = syscall2(SYSCALL_DEBUG, DEBUG_TIMESLICE_COUNTER_READ);    *ret = sr.value;    return sr.error;}
开发者ID:XuNazgul,项目名称:cmpe295A,代码行数:6,


示例21: sys_debug_get_tsc_per_ms

errval_t sys_debug_get_tsc_per_ms(uint64_t *ret){    struct sysret sr = syscall2(SYSCALL_DEBUG, DEBUG_GET_TSC_PER_MS);    *ret = sr.value;    return sr.error;}
开发者ID:XuNazgul,项目名称:cmpe295A,代码行数:6,


示例22: sys_debug_context_counter_reset

errval_t sys_debug_context_counter_reset(void){    return syscall2(SYSCALL_DEBUG, DEBUG_CONTEXT_COUNTER_RESET).error;}
开发者ID:XuNazgul,项目名称:cmpe295A,代码行数:4,


示例23: sys_debug_context_counter_read

errval_t sys_debug_context_counter_read(uint64_t *ret){    struct sysret sr = syscall2(SYSCALL_DEBUG, DEBUG_CONTEXT_COUNTER_READ);    *ret = sr.value;    return sr.error;}
开发者ID:XuNazgul,项目名称:cmpe295A,代码行数:6,


示例24: getatt

int getatt(int req, char *buf){	syscall2(13, req, buf);}
开发者ID:ALoay94,项目名称:os,代码行数:4,


示例25: open

int open(char* name, char* buf){    syscall2(SYS_OPEN, name, buf);}
开发者ID:icexin,项目名称:fanos,代码行数:4,


示例26: readdir

boolreaddir (int fd, char name[READDIR_MAX_LEN + 1]) {  return syscall2 (SYS_READDIR, fd, name);}
开发者ID:ruanmk,项目名称:Homework,代码行数:5,


示例27: uthread_join

int uthread_join(int th_id, int* th_status){	return syscall2 (SYS_UTHREAD_JOIN, th_id, th_status);}
开发者ID:radu-iosif-moldovan,项目名称:pso,代码行数:4,


示例28: uthread_create

/* * Added by Adrian Colesa - multithreading */int uthread_create(THREAD_FUNC th_fc, int* fc_arg){	return syscall2 (SYS_UTHREAD_CREATE, th_fc, fc_arg);}
开发者ID:radu-iosif-moldovan,项目名称:pso,代码行数:7,


示例29: create

boolcreate (const char *file, unsigned initial_size){  return syscall2 (SYS_CREATE, file, initial_size);}
开发者ID:ruanmk,项目名称:Homework,代码行数:5,


示例30: tlb_update

/** * Remap the specified address to a new page with new permission. * @param pgdir   page directory * @param la      linear address */voidtlb_update (pde_t *pgdir, uintptr_t la){    la = ROUNDDOWN (la, PGSIZE);    pte_t* pte = get_pte (pgdir, la, 0);    if (pte == 0 || (*pte & PTE_P) == 0)        panic ("invalid tlb flushing/n");    uint32_t pa = PDE_ADDR(*pte);    /* A tricky method to make the page table right under most circumstances.     *     Please consult the internal documentation for details.     */    int r = 1, w = 1, x = 1;    if (Get_PTE_A(pte) == 0)        r = x = w = 0;    else if (Get_PTE_W(pte) == 0 || Get_PTE_D(pte) == 0)        w = 0;    /* Make sure that the page is invalid before mapping     *     It is better to use 'mprotect' here actually.     */    tlb_invalidate (pgdir, la);    struct proc_struct *proc = find_proc_by_pgdir (pgdir);    if (current != NULL && proc != NULL) {        /* Map the page to the container process found using the stub code */        if (host_mmap (proc,                       (void*)la, PGSIZE, (r ? PROT_READ : 0) | (w ? PROT_WRITE : 0) | (x ? PROT_EXEC : 0),                       MAP_SHARED | MAP_FIXED, ginfo->mem_fd, pa) == MAP_FAILED)            panic ("map in child failed./n");    } else {        /* Map the page to the host process */        struct mmap_arg_struct args = {            .addr = la,            .len = PGSIZE,            .prot = (r ? PROT_READ : 0) | (w ? PROT_WRITE : 0) | (x ? PROT_EXEC : 0),            .flags = MAP_SHARED | MAP_FIXED,            .fd = ginfo->mem_fd,            .offset = pa,        };        syscall1 (__NR_mmap, (long)&args);    }}/** * unmap the page specified by @la in the container process corresponding to @pgdir * @param pgdir page directory * @param la the logical address of the page to be flushed */voidtlb_invalidate (pde_t *pgdir, uintptr_t la) {    struct proc_struct *proc = find_proc_by_pgdir (pgdir);    if (current != NULL && proc != NULL) {        if (host_munmap (proc, (void*)la, PGSIZE) < 0)            panic ("unmap in child failed/n");    } else {        syscall2 (__NR_munmap, la, PGSIZE);    }}/** * invalidate [USERBASE, USERTOP). * used by tests or do_execve if a 'clean' space is needed (though not neccesary). */voidtlb_invalidate_user (void){    syscall2 (__NR_munmap, USERBASE, USERTOP - USERBASE);}
开发者ID:haozhun,项目名称:ucore_plus,代码行数:74,



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


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