コード例 #1
0
ファイル: rmtab.c プロジェクト: CoryXie/opensolaris
static bool_t
xdr_mntlistencode(XDR *xdrs, HASHSET *mntlist)
{
    HASHSET_ITERATOR iterator = h_iterator(*mntlist);

    for (;;) {
        struct mntentry *m = (struct mntentry *)h_next(iterator);
        bool_t more_data = (m != NULL);

        if (!xdr_bool(xdrs, &more_data)) {
            if (iterator != NULL)
                free(iterator);
            return (FALSE);
        }

        if (!more_data)
            break;

        if ((!xdr_name(xdrs, &m->m_host)) ||
                (!xdr_dirpath(xdrs, &m->m_path))) {
            if (iterator != NULL)
                free(iterator);
            return (FALSE);
        }

    }

    if (iterator != NULL)
        free(iterator);

    return (TRUE);
}
コード例 #2
0
bool_t
xdr_exportnode (XDR *xdrs, exportnode *objp)
{
	 if (!xdr_dirpath (xdrs, &objp->ex_dir))
		 return FALSE;
	 if (!xdr_groups (xdrs, &objp->ex_groups))
		 return FALSE;
	 if (!xdr_exports (xdrs, &objp->ex_next))
		 return FALSE;
	return TRUE;
}
コード例 #3
0
bool_t
xdr_mountbody (XDR *xdrs, mountbody *objp)
{
	 if (!xdr_name (xdrs, &objp->ml_hostname))
		 return FALSE;
	 if (!xdr_dirpath (xdrs, &objp->ml_directory))
		 return FALSE;
	 if (!xdr_mountlist (xdrs, &objp->ml_next))
		 return FALSE;
	return TRUE;
}
コード例 #4
0
ファイル: mount_xdr.c プロジェクト: qyqx/scotty
bool_t
xdr_mountbody(register XDR *xdrs, mountbody *objp)
{

	if (!xdr_name(xdrs, &objp->ml_hostname))
		return (FALSE);
	if (!xdr_dirpath(xdrs, &objp->ml_directory))
		return (FALSE);
	if (!xdr_mountlist(xdrs, &objp->ml_next))
		return (FALSE);
	return (TRUE);
}
コード例 #5
0
ファイル: mount_xdr.c プロジェクト: qyqx/scotty
bool_t
xdr_exportnode(register XDR *xdrs, exportnode *objp)
{

	if (!xdr_dirpath(xdrs, &objp->ex_dir))
		return (FALSE);
	if (!xdr_groups(xdrs, &objp->ex_groups))
		return (FALSE);
	if (!xdr_exports(xdrs, &objp->ex_next))
		return (FALSE);
	return (TRUE);
}
コード例 #6
0
ファイル: mount_xdr.c プロジェクト: BillTheBest/k42
bool_t
xdr_exportnode (XDR *xdrs, exportnode *objp)
{
	 register long *buf;

	 if (!xdr_dirpath (xdrs, &objp->filesys))
		 return FALSE;
	 if (!xdr_grouplist (xdrs, &objp->groups))
		 return FALSE;
	 if (!xdr_exportlist (xdrs, &objp->next))
		 return FALSE;
	return TRUE;
}
コード例 #7
0
ファイル: mount_xdr.c プロジェクト: BillTheBest/k42
bool_t
xdr_mountnode (XDR *xdrs, mountnode *objp)
{
	 register long *buf;

	 if (!xdr_name (xdrs, &objp->hostname))
		 return FALSE;
	 if (!xdr_dirpath (xdrs, &objp->directory))
		 return FALSE;
	 if (!xdr_mountlist (xdrs, &objp->nextentry))
		 return FALSE;
	return TRUE;
}
コード例 #8
0
bool_t
xdr_mountbody(XDR *xdrs, mountbody *objp)
{
  if (amuDebug(D_XDRTRACE))
    plog(XLOG_DEBUG, "xdr_mountbody:");

  if (!xdr_name(xdrs, &objp->ml_hostname)) {
    return (FALSE);
  }
  if (!xdr_dirpath(xdrs, &objp->ml_directory)) {
    return (FALSE);
  }
  if (!xdr_mountlist(xdrs, &objp->ml_next)) {
    return (FALSE);
  }
  return (TRUE);
}
コード例 #9
0
bool_t
xdr_exportnode(XDR *xdrs, exportnode *objp)
{
  if (amuDebug(D_XDRTRACE))
    plog(XLOG_DEBUG, "xdr_exportnode:");

  if (!xdr_dirpath(xdrs, &objp->ex_dir)) {
    return (FALSE);
  }
  if (!xdr_groups(xdrs, &objp->ex_groups)) {
    return (FALSE);
  }
  if (!xdr_exports(xdrs, &objp->ex_next)) {
    return (FALSE);
  }
  return (TRUE);
}
コード例 #10
0
ファイル: msg-nfs3.c プロジェクト: 2510/glusterfs
/* Decode the mount path from the network message in inmsg
 * into the memory referenced by outpath.iov_base.
 * The size allocated for outpath.iov_base is outpath.iov_len.
 * The size of the path extracted from the message is returned.
 */
ssize_t
xdr_to_mountpath (struct iovec outpath, struct iovec inmsg)
{
        XDR     xdr;
        ssize_t ret = -1;
        char    *mntpath = NULL;

        if ((!outpath.iov_base) || (!inmsg.iov_base))
                return -1;

        xdrmem_create (&xdr, inmsg.iov_base, (unsigned int)inmsg.iov_len,
                       XDR_DECODE);

        mntpath = outpath.iov_base;
        if (!xdr_dirpath (&xdr, (dirpath *)&mntpath)) {
                ret = -1;
                goto ret;
        }

        ret = xdr_decoded_length (xdr);

ret:
        return ret;
}