当前位置: 首页>>代码示例>>C++>>正文


C++ cfe_iocb_dispatch函数代码示例

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


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

示例1: cfe_getfwinfo

int
cfe_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;
}
开发者ID:jaredmcneill,项目名称:freebsd,代码行数:31,代码来源:cfe_api.c

示例2: cfe_ioctl

int cfe_ioctl(int handle, unsigned int ioctlnum,
	      unsigned char *buffer, int length,
	      int *retlen, u64 offset)
{
	struct cfe_iocb iocb;
	int err;

	memset(&iocb, 0, sizeof(iocb));
	iocb.fcode = CFE_CMD_DEV_IOCTL;
	iocb.handle = handle;
	iocb.psize = sizeof(struct cfe_iocb_buf);
	iocb.buffer.offset = offset;
	iocb.buffer.ioctlcmd = ioctlnum;
	iocb.buffer.ptr = PTR_TO_CFE(buffer);
	iocb.buffer.length = length;

	err = cfe_iocb_dispatch(&iocb);
	if (CFE_ISERR(err))
		return err;
	if (CFE_ISERR(iocb.status))
		return iocb.status;
	if (retlen)
		*retlen = iocb.buffer.retlen;

	return iocb.status;
}
开发者ID:aircross,项目名称:ray,代码行数:26,代码来源:cfe.c

示例3: cfe_getfwinfo

int cfe_getfwinfo(struct cfe_fwinfo *info)
{
	struct cfe_iocb iocb;
	int err;

	memset(&iocb, 0, sizeof(iocb));
	iocb.fcode = CFE_CMD_FW_GETINFO;
	iocb.psize = sizeof(struct cfe_iocb_fwinfo);

	err = cfe_iocb_dispatch(&iocb);
	if (CFE_ISERR(err))
		return err;
	if (CFE_ISERR(iocb.status))
		return err;

	info->version = iocb.fwinfo.version;
	info->totalmem = iocb.fwinfo.totalmem;
	info->flags = iocb.fwinfo.flags;
	info->boardid = iocb.fwinfo.boardid;
	info->bootarea_va = iocb.fwinfo.bootarea_va;
	info->bootarea_pa = iocb.fwinfo.bootarea_pa;
	info->bootarea_size = iocb.fwinfo.bootarea_size;

	return iocb.status;
}
开发者ID:aircross,项目名称:ray,代码行数:25,代码来源:cfe.c

示例4: ui_cmd_cpu1

static int ui_cmd_cpu1(ui_cmdline_t *cmd,int argc,char *argv[])
{
    cfe_iocb_t iocb;
    int res = 0;
    char *a;
    char *x;

    a = cmd_getarg(cmd,0);
    if (!a) a = "";

    iocb.iocb_fcode = CFE_CMD_FW_CPUCTL;
    iocb.iocb_status = 0;
    iocb.iocb_handle = 0;
    iocb.iocb_flags = 0;
    iocb.iocb_psize = sizeof(iocb_cpuctl_t);

    if (strcmp(a,"start") == 0) {
	iocb.plist.iocb_cpuctl.cpu_number = 1;
	iocb.plist.iocb_cpuctl.cpu_command = CFE_CPU_CMD_START;

	if (cmd_sw_value(cmd,"-a1",&x)) iocb.plist.iocb_cpuctl.gp_val = (cfe_uint_t) xtoq(x);
	else iocb.plist.iocb_cpuctl.gp_val = 0xFEEDFACE;

	if (cmd_sw_value(cmd,"-sp",&x)) iocb.plist.iocb_cpuctl.sp_val = (cfe_uint_t) xtoq(x);
	iocb.plist.iocb_cpuctl.sp_val = 0x12345678;

	if (cmd_sw_value(cmd,"-addr",&x)) iocb.plist.iocb_cpuctl.start_addr = (cfe_uint_t) xtoq(x);
	iocb.plist.iocb_cpuctl.start_addr = (cfe_uint_t) cpu1proc;

	xprintf("Starting CPU 1 at %p\n",iocb.plist.iocb_cpuctl.start_addr);
	res = cfe_iocb_dispatch(&iocb);
	}
    else if (strcmp(a,"stop") == 0) {
	iocb.plist.iocb_cpuctl.cpu_number = 1;
	iocb.plist.iocb_cpuctl.cpu_command = CFE_CPU_CMD_STOP;
	iocb.plist.iocb_cpuctl.start_addr = 0;
	xprintf("Stopping CPU 1\n");
	res = cfe_iocb_dispatch(&iocb);
	}
    else {
	xprintf("Invalid CPU1 command: use 'cpu1 stop' or 'cpu1 start'\n");
	return -1;
	}

    printf("Result %d\n",res);
    return res;
}
开发者ID:1703011,项目名称:asuswrt-merlin,代码行数:47,代码来源:cpu1cmds.c

示例5: cfe_getticks

uint64
cfe_getticks(void)
{
	cfe_xiocb_t xiocb(CFE_CMD_FW_GETTIME);

	cfe_iocb_dispatch(&xiocb);

	return xiocb.plist.xiocb_time.ticks;
}
开发者ID:SummerSnail2014,项目名称:haiku,代码行数:9,代码来源:cfe.cpp

示例6: cfe_close

int
cfe_close(int handle)
{
	cfe_xiocb_t xiocb(CFE_CMD_DEV_CLOSE, handle);

	cfe_iocb_dispatch(&xiocb);

	return xiocb.xiocb_status;
}
开发者ID:SummerSnail2014,项目名称:haiku,代码行数:9,代码来源:cfe.cpp

示例7: cfe_enumdev

int cfe_enumdev(int idx, char *name, int namelen)
{
	cfe_xiocb_t xiocb(CFE_CMD_DEV_ENUM);
	xiocb.plist.xiocb_envbuf.enum_idx = idx;
	xiocb.plist.xiocb_envbuf.name_ptr = (uint64)name;
	xiocb.plist.xiocb_envbuf.name_length = namelen;

	cfe_iocb_dispatch(&xiocb);

	return xiocb.xiocb_status;
}
开发者ID:SummerSnail2014,项目名称:haiku,代码行数:11,代码来源:cfe.cpp

示例8: cfe_exit

int
cfe_exit(int32 warm, int32 status)
{
	cfe_xiocb_t xiocb(CFE_CMD_FW_RESTART, 0,
		warm ? CFE_FLG_WARMSTART : CFE_FLG_COLDSTART);
	xiocb.plist.xiocb_exitstat.status = status;

	cfe_iocb_dispatch(&xiocb);

	return xiocb.xiocb_status;
}
开发者ID:SummerSnail2014,项目名称:haiku,代码行数:11,代码来源:cfe.cpp

示例9: cfe_getstdhandle

int
cfe_getstdhandle(int flag)
{
	cfe_xiocb_t xiocb(CFE_CMD_DEV_GETHANDLE, 0, flag);

	cfe_iocb_dispatch(&xiocb);

	if (xiocb.xiocb_status < 0);
		return xiocb.xiocb_status;
	return xiocb.xiocb_handle;
}
开发者ID:SummerSnail2014,项目名称:haiku,代码行数:11,代码来源:cfe.cpp

示例10: cfe_close

int cfe_close(int handle)
{
	struct cfe_iocb iocb;
	int err;

	memset(&iocb, 0, sizeof(iocb));
	iocb.fcode = CFE_CMD_DEV_CLOSE;
	iocb.handle = handle;

	err = cfe_iocb_dispatch(&iocb);

	return (CFE_ISERR(err)) ? err : iocb.status;
}
开发者ID:aircross,项目名称:ray,代码行数:13,代码来源:cfe.c

示例11: cfe_flushcache

int cfe_flushcache(int flags)
{
	struct cfe_iocb iocb;
	int err;

	memset(&iocb, 0, sizeof(iocb));
	iocb.fcode = CFE_CMD_FW_FLUSHCACHE;
	iocb.flags = flags;

	err = cfe_iocb_dispatch(&iocb);

	return (CFE_ISERR(err)) ? err : iocb.status;
}
开发者ID:aircross,项目名称:ray,代码行数:13,代码来源:cfe.c

示例12: cfe_flushcache

int cfe_flushcache(int flg)
{
    cfe_iocb_t iocb;

    iocb.iocb_fcode = CFE_CMD_FW_FLUSHCACHE;
    iocb.iocb_status = 0;
    iocb.iocb_handle = 0;
    iocb.iocb_flags = flg;
    iocb.iocb_psize = 0;

    cfe_iocb_dispatch(&iocb);

    return iocb.iocb_status;
}
开发者ID:Noltari,项目名称:cfe_bcm63xx,代码行数:14,代码来源:cfe_devfuncs.c

示例13: cfe_open

int
cfe_open(const char *name)
{
	cfe_xiocb_t xiocb(CFE_CMD_DEV_OPEN);
	xiocb.plist.xiocb_buffer.buf_offset = 0;
	xiocb.plist.xiocb_buffer.buf_ptr = (uint64)name;
	xiocb.plist.xiocb_buffer.buf_length = strlen(name);

	cfe_iocb_dispatch(&xiocb);

	if (xiocb.xiocb_status < 0);
		return xiocb.xiocb_status;
	return xiocb.xiocb_handle;
}
开发者ID:SummerSnail2014,项目名称:haiku,代码行数:14,代码来源:cfe.cpp

示例14: cfe_flushcache

int cfe_flushcache(int flg)
{
    struct cfe_xiocb xiocb;

    xiocb.xiocb_fcode = CFE_CMD_FW_FLUSHCACHE;
    xiocb.xiocb_status = 0;
    xiocb.xiocb_handle = 0;
    xiocb.xiocb_flags = flg;
    xiocb.xiocb_psize = 0;

    cfe_iocb_dispatch(&xiocb);

    return xiocb.xiocb_status;
}
开发者ID:274914765,项目名称:C,代码行数:14,代码来源:cfe_api.c

示例15: cfe_writeblk

int
cfe_writeblk(int handle, int64 offset, const void *buffer, int length)
{
	cfe_xiocb_t xiocb(CFE_CMD_DEV_WRITE, handle);
	xiocb.plist.xiocb_buffer.buf_offset = offset;
	xiocb.plist.xiocb_buffer.buf_ptr = (uint64)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;
}
开发者ID:SummerSnail2014,项目名称:haiku,代码行数:14,代码来源:cfe.cpp


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