⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cfe_api.c

📁 俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)的全部源代码。
💻 C
📖 第 1 页 / 共 2 页
字号:
    *dest = 0;    xiocb.xiocb_fcode = CFE_CMD_ENV_GET;    xiocb.xiocb_status = 0;    xiocb.xiocb_handle = 0;    xiocb.xiocb_flags = 0;    xiocb.xiocb_psize = sizeof(xiocb_envbuf_t);    xiocb.plist.xiocb_envbuf.enum_idx = 0;    xiocb.plist.xiocb_envbuf.name_ptr = XPTR_FROM_NATIVE(name);    xiocb.plist.xiocb_envbuf.name_length = cfe_strlen(name);    xiocb.plist.xiocb_envbuf.val_ptr = XPTR_FROM_NATIVE(dest);    xiocb.plist.xiocb_envbuf.val_length = destlen;    cfe_iocb_dispatch(&xiocb);    return xiocb.xiocb_status;}#endif /* CFE_API_getenv || CFE_API_ALL */#if defined(CFE_API_getfwinfo) || defined(CFE_API_ALL)intcfe_getfwinfo(cfe_fwinfo_t *info){    cfe_xiocb_t xiocb;    xiocb.xiocb_fcode = CFE_CMD_FW_GETINFO;    xiocb.xiocb_status = 0;    xiocb.xiocb_handle = 0;    xiocb.xiocb_flags = 0;    xiocb.xiocb_psize = sizeof(xiocb_fwinfo_t);    cfe_iocb_dispatch(&xiocb);    if (xiocb.xiocb_status < 0)	return xiocb.xiocb_status;    info->fwi_version = xiocb.plist.xiocb_fwinfo.fwi_version;    info->fwi_totalmem = xiocb.plist.xiocb_fwinfo.fwi_totalmem;    info->fwi_flags = xiocb.plist.xiocb_fwinfo.fwi_flags;    info->fwi_boardid = xiocb.plist.xiocb_fwinfo.fwi_boardid;    info->fwi_bootarea_va = xiocb.plist.xiocb_fwinfo.fwi_bootarea_va;    info->fwi_bootarea_pa = xiocb.plist.xiocb_fwinfo.fwi_bootarea_pa;    info->fwi_bootarea_size = xiocb.plist.xiocb_fwinfo.fwi_bootarea_size;#if 0    info->fwi_reserved1 = xiocb.plist.xiocb_fwinfo.fwi_reserved1;    info->fwi_reserved2 = xiocb.plist.xiocb_fwinfo.fwi_reserved2;    info->fwi_reserved3 = xiocb.plist.xiocb_fwinfo.fwi_reserved3;#endif    return 0;}#endif /* CFE_API_getfwinfo || CFE_API_ALL */#if defined(CFE_API_getstdhandle) || defined(CFE_API_ALL)intcfe_getstdhandle(int flg){    cfe_xiocb_t xiocb;    xiocb.xiocb_fcode = CFE_CMD_DEV_GETHANDLE;    xiocb.xiocb_status = 0;    xiocb.xiocb_handle = 0;    xiocb.xiocb_flags = flg;    xiocb.xiocb_psize = 0;    cfe_iocb_dispatch(&xiocb);    if (xiocb.xiocb_status < 0)	return xiocb.xiocb_status;    return xiocb.xiocb_handle;}#endif /* CFE_API_getstdhandle || CFE_API_ALL */#if defined(CFE_API_getticks) || defined(CFE_API_ALL)int64_t#ifdef CFE_API_IMPL_NAMESPACE__cfe_getticks(void)#elsecfe_getticks(void)#endif{    cfe_xiocb_t xiocb;    xiocb.xiocb_fcode = CFE_CMD_FW_GETTIME;    xiocb.xiocb_status = 0;    xiocb.xiocb_handle = 0;    xiocb.xiocb_flags = 0;    xiocb.xiocb_psize = sizeof(xiocb_time_t);    xiocb.plist.xiocb_time.ticks = 0;    cfe_iocb_dispatch(&xiocb);    return xiocb.plist.xiocb_time.ticks;}#endif /* CFE_API_getticks || CFE_API_ALL */#if defined(CFE_API_inpstat) || defined(CFE_API_ALL)intcfe_inpstat(int handle){    cfe_xiocb_t xiocb;    xiocb.xiocb_fcode = CFE_CMD_DEV_INPSTAT;    xiocb.xiocb_status = 0;    xiocb.xiocb_handle = handle;    xiocb.xiocb_flags = 0;    xiocb.xiocb_psize = sizeof(xiocb_inpstat_t);    xiocb.plist.xiocb_inpstat.inp_status = 0;    cfe_iocb_dispatch(&xiocb);    if (xiocb.xiocb_status < 0)	return xiocb.xiocb_status;    return xiocb.plist.xiocb_inpstat.inp_status;}#endif /* CFE_API_inpstat || CFE_API_ALL */#if defined(CFE_API_ioctl) || defined(CFE_API_ALL)intcfe_ioctl(int handle, unsigned int ioctlnum, unsigned char *buffer, int length,	  int *retlen, cfe_xuint_t offset){    cfe_xiocb_t xiocb;    xiocb.xiocb_fcode = CFE_CMD_DEV_IOCTL;    xiocb.xiocb_status = 0;    xiocb.xiocb_handle = handle;    xiocb.xiocb_flags = 0;    xiocb.xiocb_psize = sizeof(xiocb_buffer_t);    xiocb.plist.xiocb_buffer.buf_offset = offset;    xiocb.plist.xiocb_buffer.buf_ioctlcmd = ioctlnum;    xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(buffer);    xiocb.plist.xiocb_buffer.buf_length = length;    cfe_iocb_dispatch(&xiocb);    if (retlen)	*retlen = xiocb.plist.xiocb_buffer.buf_retlen;    return xiocb.xiocb_status;}#endif /* CFE_API_ioctl || CFE_API_ALL */#if defined(CFE_API_open) || defined(CFE_API_ALL)intcfe_open(char *name){    cfe_xiocb_t xiocb;    xiocb.xiocb_fcode = CFE_CMD_DEV_OPEN;    xiocb.xiocb_status = 0;    xiocb.xiocb_handle = 0;    xiocb.xiocb_flags = 0;    xiocb.xiocb_psize = sizeof(xiocb_buffer_t);    xiocb.plist.xiocb_buffer.buf_offset = 0;    xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(name);    xiocb.plist.xiocb_buffer.buf_length = cfe_strlen(name);    cfe_iocb_dispatch(&xiocb);    if (xiocb.xiocb_status < 0)	return xiocb.xiocb_status;    return xiocb.xiocb_handle;}#endif /* CFE_API_open || CFE_API_ALL */#if defined(CFE_API_read) || defined(CFE_API_ALL)intcfe_read(int handle, unsigned char *buffer, int length){    return cfe_readblk(handle, 0, buffer, length);}#endif /* CFE_API_read || CFE_API_ALL */#if defined(CFE_API_readblk) || defined(CFE_API_ALL)intcfe_readblk(int handle, cfe_xint_t offset, unsigned char *buffer, int length){    cfe_xiocb_t xiocb;    xiocb.xiocb_fcode = CFE_CMD_DEV_READ;    xiocb.xiocb_status = 0;    xiocb.xiocb_handle = handle;    xiocb.xiocb_flags = 0;    xiocb.xiocb_psize = sizeof(xiocb_buffer_t);    xiocb.plist.xiocb_buffer.buf_offset = offset;    xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(buffer);    xiocb.plist.xiocb_buffer.buf_length = length;    cfe_iocb_dispatch(&xiocb);    if (xiocb.xiocb_status < 0)	return xiocb.xiocb_status;    return xiocb.plist.xiocb_buffer.buf_retlen;}#endif /* CFE_API_readblk || CFE_API_ALL */#if defined(CFE_API_setenv) || defined(CFE_API_ALL)intcfe_setenv(char *name, char *val){    cfe_xiocb_t xiocb;    xiocb.xiocb_fcode = CFE_CMD_ENV_SET;    xiocb.xiocb_status = 0;    xiocb.xiocb_handle = 0;    xiocb.xiocb_flags = 0;    xiocb.xiocb_psize = sizeof(xiocb_envbuf_t);    xiocb.plist.xiocb_envbuf.enum_idx = 0;    xiocb.plist.xiocb_envbuf.name_ptr = XPTR_FROM_NATIVE(name);    xiocb.plist.xiocb_envbuf.name_length = cfe_strlen(name);    xiocb.plist.xiocb_envbuf.val_ptr = XPTR_FROM_NATIVE(val);    xiocb.plist.xiocb_envbuf.val_length = cfe_strlen(val);    cfe_iocb_dispatch(&xiocb);    return xiocb.xiocb_status;}#endif /* CFE_API_setenv || CFE_API_ALL */#if (defined(CFE_API_strlen) || defined(CFE_API_ALL)) \    && !defined(CFE_API_STRLEN_CUSTOM)intcfe_strlen(char *name){    int count = 0;    while (*name++)	count++;    return count;}#endif /* CFE_API_strlen || CFE_API_ALL */#if defined(CFE_API_write) || defined(CFE_API_ALL)intcfe_write(int handle, unsigned char *buffer, int length){    return cfe_writeblk(handle, 0, buffer, length);}#endif /* CFE_API_write || CFE_API_ALL */#if defined(CFE_API_writeblk) || defined(CFE_API_ALL)intcfe_writeblk(int handle, cfe_xint_t offset, unsigned char *buffer, int length){    cfe_xiocb_t xiocb;    xiocb.xiocb_fcode = CFE_CMD_DEV_WRITE;    xiocb.xiocb_status = 0;    xiocb.xiocb_handle = handle;    xiocb.xiocb_flags = 0;    xiocb.xiocb_psize = sizeof(xiocb_buffer_t);    xiocb.plist.xiocb_buffer.buf_offset = offset;    xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(buffer);    xiocb.plist.xiocb_buffer.buf_length = length;    cfe_iocb_dispatch(&xiocb);    if (xiocb.xiocb_status < 0)	return xiocb.xiocb_status;    return xiocb.plist.xiocb_buffer.buf_retlen;}#endif /* CFE_API_writeblk || CFE_API_ALL */

⌨️ 快捷键说明

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