summaryrefslogtreecommitdiff
path: root/libstore
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>1996-09-14 17:47:57 +0000
committerMiles Bader <miles@gnu.org>1996-09-14 17:47:57 +0000
commit83c4b99fecdc9647af2e68b335c11ca8d5db3c71 (patch)
tree07bf4417a8585c6d8f5d7a2c8e86b473b21ba7cf /libstore
parentaf422dc5991fe3c96be5f449f38a78589d81d03f (diff)
(store_enc_return, store_return): New functions.
Diffstat (limited to 'libstore')
-rw-r--r--libstore/enc.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/libstore/enc.c b/libstore/enc.c
index 9706dfc9..91fe6eda 100644
--- a/libstore/enc.c
+++ b/libstore/enc.c
@@ -85,3 +85,22 @@ store_enc_dealloc (struct store_enc *enc)
/* For good measure... */
bzero (enc, sizeof (*enc));
}
+
+/* Copy out the parameters from ENC into the given variables suitably for
+ returning from a file_get_storage_info rpc, and deallocate ENC. */
+void
+store_enc_return (struct store_enc *enc,
+ mach_port_t **ports, mach_msg_type_number_t *num_ports,
+ int **ints, mach_msg_type_number_t *num_ints,
+ off_t **offsets, mach_msg_type_number_t *num_offsets,
+ char **data, mach_msg_type_number_t *data_len)
+{
+ *ports = enc->ports;
+ *num_ports = enc->num_ports;
+ *ints = enc->ints;
+ *num_ints = enc->num_ints;
+ *offsets = enc->offsets;
+ *num_offsets = enc->num_offsets;
+ *data = enc->data;
+ *data_len = enc->data_len;
+}