|
@@ -28,6 +28,7 @@ xdr_encode_netobj(__be32 *p, const struct xdr_netobj *obj)
|
|
memcpy(p, obj->data, obj->len);
|
|
memcpy(p, obj->data, obj->len);
|
|
return p + XDR_QUADLEN(obj->len);
|
|
return p + XDR_QUADLEN(obj->len);
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(xdr_encode_netobj);
|
|
|
|
|
|
__be32 *
|
|
__be32 *
|
|
xdr_decode_netobj(__be32 *p, struct xdr_netobj *obj)
|
|
xdr_decode_netobj(__be32 *p, struct xdr_netobj *obj)
|
|
@@ -40,6 +41,7 @@ xdr_decode_netobj(__be32 *p, struct xdr_netobj *obj)
|
|
obj->data = (u8 *) p;
|
|
obj->data = (u8 *) p;
|
|
return p + XDR_QUADLEN(len);
|
|
return p + XDR_QUADLEN(len);
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(xdr_decode_netobj);
|
|
|
|
|
|
/**
|
|
/**
|
|
* xdr_encode_opaque_fixed - Encode fixed length opaque data
|
|
* xdr_encode_opaque_fixed - Encode fixed length opaque data
|
|
@@ -91,6 +93,7 @@ xdr_encode_string(__be32 *p, const char *string)
|
|
{
|
|
{
|
|
return xdr_encode_array(p, string, strlen(string));
|
|
return xdr_encode_array(p, string, strlen(string));
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(xdr_encode_string);
|
|
|
|
|
|
__be32 *
|
|
__be32 *
|
|
xdr_decode_string_inplace(__be32 *p, char **sp, int *lenp, int maxlen)
|
|
xdr_decode_string_inplace(__be32 *p, char **sp, int *lenp, int maxlen)
|
|
@@ -103,6 +106,7 @@ xdr_decode_string_inplace(__be32 *p, char **sp, int *lenp, int maxlen)
|
|
*sp = (char *) p;
|
|
*sp = (char *) p;
|
|
return p + XDR_QUADLEN(len);
|
|
return p + XDR_QUADLEN(len);
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(xdr_decode_string_inplace);
|
|
|
|
|
|
void
|
|
void
|
|
xdr_encode_pages(struct xdr_buf *xdr, struct page **pages, unsigned int base,
|
|
xdr_encode_pages(struct xdr_buf *xdr, struct page **pages, unsigned int base,
|
|
@@ -130,6 +134,7 @@ xdr_encode_pages(struct xdr_buf *xdr, struct page **pages, unsigned int base,
|
|
xdr->buflen += len;
|
|
xdr->buflen += len;
|
|
xdr->len += len;
|
|
xdr->len += len;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(xdr_encode_pages);
|
|
|
|
|
|
void
|
|
void
|
|
xdr_inline_pages(struct xdr_buf *xdr, unsigned int offset,
|
|
xdr_inline_pages(struct xdr_buf *xdr, unsigned int offset,
|
|
@@ -151,7 +156,7 @@ xdr_inline_pages(struct xdr_buf *xdr, unsigned int offset,
|
|
|
|
|
|
xdr->buflen += len;
|
|
xdr->buflen += len;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+EXPORT_SYMBOL(xdr_inline_pages);
|
|
|
|
|
|
/*
|
|
/*
|
|
* Helper routines for doing 'memmove' like operations on a struct xdr_buf
|
|
* Helper routines for doing 'memmove' like operations on a struct xdr_buf
|
|
@@ -418,6 +423,7 @@ xdr_shift_buf(struct xdr_buf *buf, size_t len)
|
|
{
|
|
{
|
|
xdr_shrink_bufhead(buf, len);
|
|
xdr_shrink_bufhead(buf, len);
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(xdr_shift_buf);
|
|
|
|
|
|
/**
|
|
/**
|
|
* xdr_init_encode - Initialize a struct xdr_stream for sending data.
|
|
* xdr_init_encode - Initialize a struct xdr_stream for sending data.
|
|
@@ -639,6 +645,7 @@ xdr_buf_from_iov(struct kvec *iov, struct xdr_buf *buf)
|
|
buf->page_len = 0;
|
|
buf->page_len = 0;
|
|
buf->buflen = buf->len = iov->iov_len;
|
|
buf->buflen = buf->len = iov->iov_len;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(xdr_buf_from_iov);
|
|
|
|
|
|
/* Sets subbuf to the portion of buf of length len beginning base bytes
|
|
/* Sets subbuf to the portion of buf of length len beginning base bytes
|
|
* from the start of buf. Returns -1 if base of length are out of bounds. */
|
|
* from the start of buf. Returns -1 if base of length are out of bounds. */
|
|
@@ -687,6 +694,7 @@ xdr_buf_subsegment(struct xdr_buf *buf, struct xdr_buf *subbuf,
|
|
return -1;
|
|
return -1;
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(xdr_buf_subsegment);
|
|
|
|
|
|
static void __read_bytes_from_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len)
|
|
static void __read_bytes_from_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len)
|
|
{
|
|
{
|
|
@@ -717,6 +725,7 @@ int read_bytes_from_xdr_buf(struct xdr_buf *buf, unsigned int base, void *obj, u
|
|
__read_bytes_from_xdr_buf(&subbuf, obj, len);
|
|
__read_bytes_from_xdr_buf(&subbuf, obj, len);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(read_bytes_from_xdr_buf);
|
|
|
|
|
|
static void __write_bytes_to_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len)
|
|
static void __write_bytes_to_xdr_buf(struct xdr_buf *subbuf, void *obj, unsigned int len)
|
|
{
|
|
{
|
|
@@ -760,6 +769,7 @@ xdr_decode_word(struct xdr_buf *buf, unsigned int base, u32 *obj)
|
|
*obj = ntohl(raw);
|
|
*obj = ntohl(raw);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(xdr_decode_word);
|
|
|
|
|
|
int
|
|
int
|
|
xdr_encode_word(struct xdr_buf *buf, unsigned int base, u32 obj)
|
|
xdr_encode_word(struct xdr_buf *buf, unsigned int base, u32 obj)
|
|
@@ -768,6 +778,7 @@ xdr_encode_word(struct xdr_buf *buf, unsigned int base, u32 obj)
|
|
|
|
|
|
return write_bytes_to_xdr_buf(buf, base, &raw, sizeof(obj));
|
|
return write_bytes_to_xdr_buf(buf, base, &raw, sizeof(obj));
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(xdr_encode_word);
|
|
|
|
|
|
/* If the netobj starting offset bytes from the start of xdr_buf is contained
|
|
/* If the netobj starting offset bytes from the start of xdr_buf is contained
|
|
* entirely in the head or the tail, set object to point to it; otherwise
|
|
* entirely in the head or the tail, set object to point to it; otherwise
|
|
@@ -805,6 +816,7 @@ int xdr_buf_read_netobj(struct xdr_buf *buf, struct xdr_netobj *obj, unsigned in
|
|
__read_bytes_from_xdr_buf(&subbuf, obj->data, obj->len);
|
|
__read_bytes_from_xdr_buf(&subbuf, obj->data, obj->len);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(xdr_buf_read_netobj);
|
|
|
|
|
|
/* Returns 0 on success, or else a negative error code. */
|
|
/* Returns 0 on success, or else a negative error code. */
|
|
static int
|
|
static int
|
|
@@ -1010,6 +1022,7 @@ xdr_decode_array2(struct xdr_buf *buf, unsigned int base,
|
|
|
|
|
|
return xdr_xcode_array2(buf, base, desc, 0);
|
|
return xdr_xcode_array2(buf, base, desc, 0);
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(xdr_decode_array2);
|
|
|
|
|
|
int
|
|
int
|
|
xdr_encode_array2(struct xdr_buf *buf, unsigned int base,
|
|
xdr_encode_array2(struct xdr_buf *buf, unsigned int base,
|
|
@@ -1021,6 +1034,7 @@ xdr_encode_array2(struct xdr_buf *buf, unsigned int base,
|
|
|
|
|
|
return xdr_xcode_array2(buf, base, desc, 1);
|
|
return xdr_xcode_array2(buf, base, desc, 1);
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL(xdr_encode_array2);
|
|
|
|
|
|
int
|
|
int
|
|
xdr_process_buf(struct xdr_buf *buf, unsigned int offset, unsigned int len,
|
|
xdr_process_buf(struct xdr_buf *buf, unsigned int offset, unsigned int len,
|