Пример #1
0
bool_t xdr_nvclock(XDR *xdrs, struct nvclock **arg)
{
	bool shouldfree = false;
	struct nvclock dummy;
	struct nvclock *clock;
	int i;

	clock = *arg;

	if (xdrs->x_op == XDR_FREE) {
		nvclock_free(clock);
		return TRUE;
	}

	/*
	 * If we don't have clock...
	 */
	if (!clock && (xdrs->x_op == XDR_ENCODE)) {
		/*
		 * ...send one filled with zeros.
		 */
		memset(&dummy, 0, sizeof(struct nvclock));
		clock = &dummy;
	} else if (!clock && (xdrs->x_op == XDR_DECODE)) {
		/*
		 * ...recieve into a newly allocated one.
		 */
		clock = nvclock_alloc();
		if (!clock)
			return FALSE;
		*arg = clock;
		shouldfree = true;
	}

	for (i = 0; i < NVCLOCK_NUM_NODES; i++) {
		if (!xdr_uint64_t(xdrs, &clock->ent[i].node))
			goto err;
		if (!xdr_uint64_t(xdrs, &clock->ent[i].seq))
			goto err;
	}

	return TRUE;

err:
	if (shouldfree) {
		nvclock_free(clock);
		*arg = NULL;
	}

	return FALSE;
}
Пример #2
0
bool_t
xdr_shibrpc_session_is_valid_args_1 (XDR *xdrs, shibrpc_session_is_valid_args_1 *objp)
{
	register int32_t *buf;

	 if (!xdr_ShibRpcHttpCookie_1 (xdrs, &objp->cookie))
		 return FALSE;
	 if (!xdr_bool (xdrs, &objp->checkIPAddress))
		 return FALSE;
	 if (!xdr_uint64_t (xdrs, &objp->lifetime))
		 return FALSE;
	 if (!xdr_uint64_t (xdrs, &objp->timeout))
		 return FALSE;
	return TRUE;
}
Пример #3
0
bool_t
xdr_nlm4_holder (XDR *xdrs, nlm4_holder *objp)
{
    if (!xdr_bool (xdrs, &objp->exclusive))
        return FALSE;
    if (!xdr_uint32_t (xdrs, &objp->svid))
        return FALSE;
    if (!xdr_netobj (xdrs, &objp->oh))
        return FALSE;
    if (!xdr_uint64_t (xdrs, &objp->l_offset))
        return FALSE;
    if (!xdr_uint64_t (xdrs, &objp->l_len))
        return FALSE;
    return TRUE;
}
Пример #4
0
/*
 * Custom XDR routine for our API structure fmd_stat_t.  This function must
 * match the definition of fmd_stat_t in <fm/fmd_api.h> and must also match
 * the corresponding routine in usr/src/cmd/fm/fmd/common/fmd_rpc_adm.c.
 */
bool_t
xdr_fmd_stat(XDR *xp, fmd_stat_t *sp)
{
	bool_t rv = TRUE;

	rv &= xdr_opaque(xp, sp->fmds_name, sizeof (sp->fmds_name));
	rv &= xdr_u_int(xp, &sp->fmds_type);
	rv &= xdr_opaque(xp, sp->fmds_desc, sizeof (sp->fmds_desc));

	switch (sp->fmds_type) {
	case FMD_TYPE_BOOL:
		rv &= xdr_int(xp, &sp->fmds_value.bool);
		break;
	case FMD_TYPE_INT32:
		rv &= xdr_int32_t(xp, &sp->fmds_value.i32);
		break;
	case FMD_TYPE_UINT32:
		rv &= xdr_uint32_t(xp, &sp->fmds_value.ui32);
		break;
	case FMD_TYPE_INT64:
		rv &= xdr_int64_t(xp, &sp->fmds_value.i64);
		break;
	case FMD_TYPE_UINT64:
	case FMD_TYPE_TIME:
	case FMD_TYPE_SIZE:
		rv &= xdr_uint64_t(xp, &sp->fmds_value.ui64);
		break;
	case FMD_TYPE_STRING:
		rv &= xdr_string(xp, &sp->fmds_value.str, ~0);
		break;
	}

	return (rv);
}
Пример #5
0
bool_t
xdr_geo_sync_data_ret_t (XDR *xdrs, geo_sync_data_ret_t *objp)
{
	//register int32_t *buf;

	 if (!xdr_uint16_t (xdrs, &objp->eid))
		 return FALSE;
	 if (!xdr_uint16_t (xdrs, &objp->site_id))
		 return FALSE;
	 if (!xdr_uint64_t (xdrs, &objp->file_idx))
		 return FALSE;
	 if (!xdr_uint32_t (xdrs, &objp->local_ref))
		 return FALSE;
	 if (!xdr_uint32_t (xdrs, &objp->remote_ref))
		 return FALSE;
	 if (!xdr_uint32_t (xdrs, &objp->last))
		 return FALSE;
	 if (!xdr_uint32_t (xdrs, &objp->first_record))
		 return FALSE;
	 if (!xdr_uint32_t (xdrs, &objp->nb_records))
		 return FALSE;
	 if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, ~0))
		 return FALSE;
	return TRUE;
}
Пример #6
0
bool_t
xdr_storcli_read_arg_t (XDR *xdrs, storcli_read_arg_t *objp)
{
	//register int32_t *buf;

	//int i;
	 if (!xdr_uint16_t (xdrs, &objp->cid))
		 return FALSE;
	 if (!xdr_uint8_t (xdrs, &objp->sid))
		 return FALSE;
	 if (!xdr_uint8_t (xdrs, &objp->layout))
		 return FALSE;
	 if (!xdr_uint8_t (xdrs, &objp->spare))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->dist_set, ROZOFS_SAFE_MAX,
		sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
		 return FALSE;
	 if (!xdr_storcli_uuid_t (xdrs, objp->fid))
		 return FALSE;
	 if (!xdr_uint8_t (xdrs, &objp->proj_id))
		 return FALSE;
	 if (!xdr_uint64_t (xdrs, &objp->bid))
		 return FALSE;
	 if (!xdr_uint32_t (xdrs, &objp->nb_proj))
		 return FALSE;
	return TRUE;
}
Пример #7
0
bool_t
xdr_storcli_write_arg_no_data_t (XDR *xdrs, storcli_write_arg_no_data_t *objp)
{
	//register int32_t *buf;

	//int i;
	 if (!xdr_uint16_t (xdrs, &objp->cid))
		 return FALSE;
	 if (!xdr_uint8_t (xdrs, &objp->sid))
		 return FALSE;
	 if (!xdr_uint8_t (xdrs, &objp->empty_file))
		 return FALSE;
	 if (!xdr_uint8_t (xdrs, &objp->layout))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->dist_set, ROZOFS_SAFE_MAX,
		sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
		 return FALSE;
	 if (!xdr_storcli_uuid_t (xdrs, objp->fid))
		 return FALSE;
	 if (!xdr_uint64_t (xdrs, &objp->off))
		 return FALSE;
	 if (!xdr_uint32_t (xdrs, &objp->len))
		 return FALSE;
	return TRUE;
}
Пример #8
0
/*
 * XDR encode/decode for smb_netuserinfo_t.
 */
bool_t
smb_netuserinfo_xdr(XDR *xdrs, smb_netuserinfo_t *objp)
{
	if (!xdr_uint64_t(xdrs, &objp->ui_session_id))
		return (FALSE);
	if (!xdr_uint16_t(xdrs, &objp->ui_smb_uid))
		return (FALSE);
	if (!xdr_uint16_t(xdrs, &objp->ui_domain_len))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->ui_domain, ~0))
		return (FALSE);
	if (!xdr_uint16_t(xdrs, &objp->ui_account_len))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->ui_account, ~0))
		return (FALSE);
	if (!xdr_uint32_t(xdrs, &objp->ui_posix_uid))
		return (FALSE);
	if (!xdr_uint16_t(xdrs, &objp->ui_workstation_len))
		return (FALSE);
	if (!xdr_string(xdrs, &objp->ui_workstation, ~0))
		return (FALSE);
	if (!smb_inaddr_xdr(xdrs, &objp->ui_ipaddr))
		return (FALSE);
	if (!xdr_int32_t(xdrs, &objp->ui_native_os))
		return (FALSE);
	if (!xdr_int64_t(xdrs, &objp->ui_logon_time))
		return (FALSE);
	if (!xdr_uint32_t(xdrs, &objp->ui_numopens))
		return (FALSE);
	if (!xdr_uint32_t(xdrs, &objp->ui_flags))
		return (FALSE);
	return (TRUE);
}
Пример #9
0
bool_t
xdr_uint64 (XDR *xdrs, uint64 *objp)
{
	 if (!xdr_uint64_t (xdrs, objp))
		 return FALSE;
	return TRUE;
}
Пример #10
0
bool_t
xdr_fsdb_client_id (XDR *xdrs, fsdb_client_id *objp)
{

	 if (!xdr_uint64_t (xdrs, objp))
		 return FALSE;
	return TRUE;
}
Пример #11
0
bool_t
xdr_nlm4_lock (XDR *xdrs, nlm4_lock *objp)
{
    if (!xdr_string (xdrs, &objp->caller_name, MAXNAMELEN))
        return FALSE;
    if (!xdr_netobj (xdrs, &objp->fh))
        return FALSE;
    if (!xdr_netobj (xdrs, &objp->oh))
        return FALSE;
    if (!xdr_uint32_t (xdrs, &objp->svid))
        return FALSE;
    if (!xdr_uint64_t (xdrs, &objp->l_offset))
        return FALSE;
    if (!xdr_uint64_t (xdrs, &objp->l_len))
        return FALSE;
    return TRUE;
}
Пример #12
0
bool_t
smb_quota_xdr(XDR *xdrs, smb_quota_t *objp)
{
	if (!xdr_vector(xdrs, (char *)objp->q_sidstr, SMB_SID_STRSZ,
	    sizeof (char), (xdrproc_t)xdr_char))
		return (FALSE);
	if (!xdr_uint32_t(xdrs, &objp->q_sidtype))
		return (FALSE);
	if (!xdr_uint64_t(xdrs, &objp->q_used))
		return (FALSE);
	if (!xdr_uint64_t(xdrs, &objp->q_thresh))
		return (FALSE);
	if (!xdr_uint64_t(xdrs, &objp->q_limit))
		return (FALSE);

	return (TRUE);
}
Пример #13
0
bool_t xdr_nlm4_lock(XDR * xdrs, nlm4_lock * objp)
{
  register int32_t *buf;

  if(!xdr_string(xdrs, &objp->caller_name, LM_MAXSTRLEN))
    return FALSE;
  if(!xdr_netobj(xdrs, &objp->fh))
    return FALSE;
  if(!xdr_netobj(xdrs, &objp->oh))
    return FALSE;
  if(!xdr_int32_t(xdrs, &objp->svid))
    return FALSE;
  if(!xdr_uint64_t(xdrs, &objp->l_offset))
    return FALSE;
  if(!xdr_uint64_t(xdrs, &objp->l_len))
    return FALSE;
  return TRUE;
}
Пример #14
0
/*
 * XDR u_longlong_t's
 */
bool_t
xdr_u_longlong_t(XDR *xdrs, u_longlong_t *ullp)
{

	/*
	 * Don't bother open-coding this; it's a fair amount of code.  Just
	 * call xdr_uint64_t().
	 */
	return (xdr_uint64_t(xdrs, (uint64_t *)ullp));
}
Пример #15
0
bool_t
xdr_geo_sync_close_req_arg_t (XDR *xdrs, geo_sync_close_req_arg_t *objp)
{
	//register int32_t *buf;

	 if (!xdr_uint16_t (xdrs, &objp->eid))
		 return FALSE;
	 if (!xdr_uint16_t (xdrs, &objp->site_id))
		 return FALSE;
	 if (!xdr_uint64_t (xdrs, &objp->file_idx))
		 return FALSE;
	 if (!xdr_uint32_t (xdrs, &objp->local_ref))
		 return FALSE;
	 if (!xdr_uint32_t (xdrs, &objp->remote_ref))
		 return FALSE;
	 if (!xdr_uint64_t (xdrs, &objp->status_bitmap))
		 return FALSE;
	return TRUE;
}
bool_t xdr_rpc_request_callback_info(XDR *xdrs, rpc_request_callback_info *objp) {
  if (!xdr_array(xdrs, (char **) &objp->hostname.hostname_val,
                 (u_int *) &objp->hostname.hostname_len, ~0, sizeof(char),
                 (xdrproc_t) xdr_char))
    return FALSE;
  if (!xdr_uint64_t(xdrs, &objp->prog_num))
    return FALSE;
  if (!xdr_uint32_t(xdrs, &objp->prog_version))
    return FALSE;
  return TRUE;
}
Пример #17
0
bool_t
xdr_spp_profiler_t (XDR *xdrs, spp_profiler_t *objp)
{
	//register int32_t *buf;

	//int i;
	 if (!xdr_uint64_t (xdrs, &objp->uptime))
		 return FALSE;
	 if (!xdr_uint64_t (xdrs, &objp->now))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->vers, 20,
		sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->stat, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->ports, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->remove, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->read, 3,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->write, 3,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->truncate, 3,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_uint16_t (xdrs, &objp->nb_io_processes))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->io_process_ports, 32,
		sizeof (uint16_t), (xdrproc_t) xdr_uint16_t))
		 return FALSE;
	return TRUE;
}
Пример #18
0
bool_t
smb_gmttoken_snapname_xdr(XDR *xdrs, smb_gmttoken_snapname_t *objp)
{
	if (!xdr_string(xdrs, &objp->gts_path, MAXPATHLEN)) {
		return (FALSE);
	}
	if (!xdr_string(xdrs, &objp->gts_gmttoken, SMB_VSS_GMT_SIZE)) {
		return (FALSE);
	}
	if (!xdr_uint64_t(xdrs, &objp->gts_toktime)) {
		return (FALSE);
	}
	return (TRUE);
}
Пример #19
0
/**
* send a rpc reply: the encoding function MUST be found in xdr_result 
 of the gateway context

  It is assumed that the xmitBuf MUST be found in xmitBuf field
  
  In case of a success it is up to the called function to release the xmit buffer
  
  @param p : pointer to the root transaction context used for the read
  @param arg_ret : returned argument to encode 
  
  @retval none

*/
void storaged_srv_forward_read_success (rozorpc_srv_ctx_t *p,sp_read_ret_t * arg_ret)
{
   int ret;
   uint8_t *pbuf;           /* pointer to the part that follows the header length */
   uint32_t *header_len_p;  /* pointer to the array that contains the length of the rpc message*/
   XDR xdrs;
   int len;
   int cur_len;

   if (p->xmitBuf == NULL)
   {
      ROZORPC_SRV_STATS(ROZORPC_SRV_NO_BUFFER_ERROR);
      severe("no xmit buffer");
      goto error;
   } 
    /*
    ** create xdr structure on top of the buffer that will be used for sending the response
    */
    header_len_p = (uint32_t*)ruc_buf_getPayload(p->xmitBuf); 
    pbuf = (uint8_t*) (header_len_p+1);            
    len = (int)ruc_buf_getMaxPayloadLen(p->xmitBuf);
    len -= sizeof(uint32_t);
    xdrmem_create(&xdrs,(char*)pbuf,len,XDR_ENCODE); 
    /*
    ** just encode the header
    */
    if (rozofs_encode_rpc_reply(&xdrs,(xdrproc_t)NULL,(caddr_t)NULL,p->src_transaction_id) != TRUE)
    {
      ROZORPC_SRV_STATS(ROZORPC_SRV_ENCODING_ERROR);
      severe("rpc reply encoding error");
      goto error;     
    }
    /*
    ** OK now starts encoding the response
    */
    xdr_sp_status_t (&xdrs, &arg_ret->status);
    xdr_uint32_t (&xdrs, &arg_ret->sp_read_ret_t_u.rsp.filler);          
    xdr_uint32_t (&xdrs, &arg_ret->sp_read_ret_t_u.rsp.bins.bins_len); 
    /*
    ** skip the bins
    */
    cur_len =  xdr_getpos(&xdrs) ;     
    cur_len +=  arg_ret->sp_read_ret_t_u.rsp.bins.bins_len;
    xdr_setpos(&xdrs,cur_len);
    /*
    ** encode the length of the file
    */
    xdr_uint64_t (&xdrs, &arg_ret->sp_read_ret_t_u.rsp.file_size);
#if 0 // for future usage with distributed cache 
    /*
    ** encode the optim array
    */
    xdr_bytes (&xdrs, (char **)&arg_ret->sp_read_ret_t_u.rsp.optim.optim_val, 
                       (u_int *) &arg_ret->sp_read_ret_t_u.rsp.optim.optim_len, ~0);  
#endif
    /*
    ** compute the total length of the message for the rpc header and add 4 bytes more bytes for
    ** the ruc buffer to take care of the header length of the rpc message.
    */
    int total_len = xdr_getpos(&xdrs) ;
    *header_len_p = htonl(0x80000000 | total_len);
    total_len +=sizeof(uint32_t);
    ruc_buf_setPayloadLen(p->xmitBuf,total_len);

    /*
    ** Get the callback for sending back the response:
    ** A callback is needed since the request for read might be local or remote
    */
    ret =  af_unix_generic_send_stream_with_idx((int)p->socketRef,p->xmitBuf);  
    if (ret == 0)
    {
      /**
      * success so remove the reference of the xmit buffer since it is up to the called
      * function to release it
      */
      ROZORPC_SRV_STATS(ROZORPC_SRV_SEND);
      p->xmitBuf = NULL;
    }
    else
    {
      ROZORPC_SRV_STATS(ROZORPC_SRV_SEND_ERROR);
    }
error:
    return;
}
Пример #20
0
bool_t
xdr_mpp_profiler_t (XDR *xdrs, mpp_profiler_t *objp)
{
	//register int32_t *buf;

	//int i;
	 if (!xdr_uint64_t (xdrs, &objp->uptime))
		 return FALSE;
	 if (!xdr_uint64_t (xdrs, &objp->now))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->vers, 20,
		sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_lookup, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_forget, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_getattr, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_setattr, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_readlink, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_mknod, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_mkdir, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_unlink, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_rmdir, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_symlink, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_rename, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_open, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_link, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_read, 3,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_write, 3,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_flush, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_release, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_opendir, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_readdir, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_releasedir, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_fsyncdir, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_statfs, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_setxattr, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_getxattr, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_listxattr, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_removexattr, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_access, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_create, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_getlk, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_setlk, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_setlk_int, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_ioctl, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	 if (!xdr_vector (xdrs, (char *)objp->rozofs_ll_clearlkowner, 2,
		sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
		 return FALSE;
	return TRUE;
}
Пример #21
0
bool_t
xdr_stcpp_profiler_t (XDR *xdrs, stcpp_profiler_t *objp)
{
    //register int32_t *buf;

    //int i;
    if (!xdr_uint64_t (xdrs, &objp->uptime))
        return FALSE;
    if (!xdr_uint64_t (xdrs, &objp->now))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->vers, 20,
                     sizeof (uint8_t), (xdrproc_t) xdr_uint8_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->stat, 2,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->ports, 2,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->remove, 2,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->read_req, 3,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->read, 3,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->trans_inv, 3,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->write, 3,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->write_req, 3,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->trans_forward, 3,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->truncate, 3,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->truncate_prj, 3,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->truncate_prj_tmo, 2,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->truncate_prj_err, 2,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->read_prj, 3,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->write_prj, 3,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->read_prj_tmo, 2,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->read_prj_err, 2,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->read_prj_enoent, 2,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->write_prj_tmo, 2,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->write_prj_err, 2,
                     sizeof (uint64_t), (xdrproc_t) xdr_uint64_t))
        return FALSE;
    if (!xdr_vector (xdrs, (char *)objp->io_process_ports, 32,
                     sizeof (uint16_t), (xdrproc_t) xdr_uint16_t))
        return FALSE;
    return TRUE;
}