예제 #1
0
bool_t
xdr_write3args (XDR *xdrs, write3args *objp)
{
	 if (!xdr_nfs_fh3 (xdrs, &objp->file))
		 return FALSE;
	 if (!xdr_offset3 (xdrs, &objp->offset))
		 return FALSE;
	 if (!xdr_count3 (xdrs, &objp->count))
		 return FALSE;
	 if (!xdr_stable_how (xdrs, &objp->stable))
		 return FALSE;

         /* Added specifically to avoid copies from the xdr buffer into
          * the write3args structure, which will also require an already
          * allocated buffer. That is not optimal.
          */
         if (!xdr_u_int (xdrs, (u_int *) &objp->data.data_len))
                 return FALSE;

         /* The remaining bytes in the xdr buffer are the bytes that need to be
          * written. See how these bytes are extracted in the xdr_to_write3args
          * code path. Be careful, while using the write3args structure, since
          * only the data.data_len has been filled. The actual data is
          * extracted in xdr_to_write3args path.
          */

         /*	 if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, ~0))
		 return FALSE;
                 */
	return TRUE;
}
예제 #2
0
bool_t
xdr_read3args (XDR *xdrs, read3args *objp)
{
	 if (!xdr_nfs_fh3 (xdrs, &objp->file))
		 return FALSE;
	 if (!xdr_offset3 (xdrs, &objp->offset))
		 return FALSE;
	 if (!xdr_count3 (xdrs, &objp->count))
		 return FALSE;
	return TRUE;
}
예제 #3
0
bool_t
xdr_READ3args(register XDR *xdrs, READ3args *objp)
{
	if (!xdr_nfs_fh3(xdrs, &objp->file))
		return (FALSE);
	if (!xdr_offset3(xdrs, &objp->offset))
		return (FALSE);
	if (!xdr_count3(xdrs, &objp->count))
		return (FALSE);
	return (TRUE);
}
예제 #4
0
파일: nfs3xdr.c 프로젝트: fadingred/kfs
bool_t
xdr_COMMIT3args(XDR *xdrs, COMMIT3args *objp)
{

	if (!xdr_nfs_fh3(xdrs, &objp->file))
		return (FALSE);
	if (!xdr_offset3(xdrs, &objp->offset))
		return (FALSE);
	if (!xdr_count3(xdrs, &objp->count))
		return (FALSE);
	return (TRUE);
}
예제 #5
0
bool_t
xdr_WRITE3args(register XDR *xdrs, WRITE3args *objp)
{
	if (!xdr_nfs_fh3(xdrs, &objp->file))
		return (FALSE);
	if (!xdr_offset3(xdrs, &objp->offset))
		return (FALSE);
	if (!xdr_count3(xdrs, &objp->count))
		return (FALSE);
	if (!xdr_stable_how(xdrs, &objp->stable))
		return (FALSE);
	if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, ~0))
		return (FALSE);
	return (TRUE);
}
예제 #6
0
파일: xdr.c 프로젝트: Abioy/sheepdog
bool_t
xdr_write_args(XDR *xdrs, WRITE3args *objp)
{
	if (!xdr_nfs_fh3(xdrs, &objp->file))
		return FALSE;
	if (!xdr_offset3(xdrs, &objp->offset))
		return FALSE;
	if (!xdr_count3(xdrs, &objp->count))
		return FALSE;
	if (!xdr_stable_how(xdrs, &objp->stable))
		return FALSE;
	if (!xdr_bytes(xdrs, (char **)&objp->data.data_val,
		       (u_int *)&objp->data.data_len, ~0))
		return FALSE;
	return TRUE;
}