示例#1
0
static size_t loc_count_namespaces_internal(async_exch_t *exch)
{
	sysarg_t count;
	int retval = async_req_0_1(exch, LOC_GET_NAMESPACE_COUNT, &count);
	if (retval != EOK)
		return 0;
	
	return count;
}
示例#2
0
int bd_get_block_size(bd_t *bd, size_t *rbsize)
{
	sysarg_t bsize;
	async_exch_t *exch = async_exchange_begin(bd->sess);

	int rc = async_req_0_1(exch, BD_GET_BLOCK_SIZE, &bsize);
	async_exchange_end(exch);

	if (rc != EOK)
		return rc;

	*rbsize = bsize;
	return EOK;
}
示例#3
0
int fb_vp_get_caps(async_sess_t *sess, vp_handle_t vp, console_caps_t *ccaps)
{
    async_exch_t *exch = vp_exchange_begin(sess, vp);

    sysarg_t rv;
    int ret = async_req_0_1(exch, FB_VP_GET_CAPS, &rv);

    vp_exchange_end(exch);

    if (ret == EOK)
        *ccaps = (console_caps_t) rv;

    return ret;
}
示例#4
0
sequence_handle_t fb_sequence_create(async_sess_t *sess)
{
    async_exch_t *exch = async_exchange_begin(sess);

    sysarg_t ret;
    int rc = async_req_0_1(exch, FB_SEQUENCE_CREATE, &ret);

    async_exchange_end(exch);

    if (rc != EOK)
        return 0;

    return (sequence_handle_t) ret;
}
示例#5
0
int loc_null_create(void)
{
	async_exch_t *exch = loc_exchange_begin_blocking(LOC_PORT_CONSUMER);
	
	sysarg_t null_id;
	int retval = async_req_0_1(exch, LOC_NULL_CREATE, &null_id);
	
	loc_exchange_end(exch);
	
	if (retval != EOK)
		return -1;
	
	return (int) null_id;
}