summaryrefslogtreecommitdiff
path: root/libstore/store.h
diff options
context:
space:
mode:
authorMarcus Brinkmann <marcus@gnu.org>2001-01-08 22:33:11 +0000
committerMarcus Brinkmann <marcus@gnu.org>2001-01-08 22:33:11 +0000
commitda2495949dfd41675ac36a62ad9034d6bed8b618 (patch)
tree5baeb61430ac310af949ac23c7d34c0058d8767e /libstore/store.h
parent5cb8c15669c5ac51b5aa9e33671fef7dcc0916b5 (diff)
doc/
2001-01-08 Marcus Brinkmann <marcus@gnu.org> * hurd.texi (Store Management): Replace off_t with store_offset_t. (Store I/O): Likewise. (Store Classes): Likewise. ext2fs/ 2001-01-08 Marcus Brinkmann <marcus@gnu.org> * ext2fs.c (main): Use %Ld instead %ld to print store->size. * hyper.c (get_hypermetadata): Likewise. libstore/ 2001-01-08 Marcus Brinkmann <marcus@gnu.org> * zero.c (zero_remap): Change type of variables length, old_length to store_offset_t. (zero_decode): Change type of variable size to store_offset_t. (zero_open): Likewise. Use strtoull instead strtoul to parse size argument from name. Use store_offset_t for max_offs and its calculation. (store_zero_create): Use store_offset_t type for size argument. * derive.c (_store_derive): Use store_offset_t as type for variable last_part_base. * stripe.c (addr_adj): Change types of addr argument and return value to store_offset_t. (store_ileave_create): Change type of interleave argument and variables min_end and end to store_offset_t, but type of variable block_size to size_t. (store_concat_create): Change type of variable block_size to size_t. * make.c (_store_create): Change end argument type to store_offset_t. * store.h: New type store_offset_t, define to off64_t. (struct store_run): Change type of start and length to store_offset_t. (struct store): Change type of end, wrap_src, wrap_dst, blocks, size to store_offset_t. Change type of addr arg in store_read_meth_t and store_write_meth_t to store_offset_t, as well as in declarations for store_read and store_write. Change type of argument end in _store_create declaration to store_offset_t. Change type of argument size in store_zero_create to store_offset_t. Change type of argument interleace in store_ileace_create to store_offset_t. * rdwr.c (store_find_first_run): Change type of return value, addr and *base arguments, and variables wrap_src and run_blocks to store_offset_t. (store_next_run): Change type of *base argument to store_offset_t. (store_write): Change type of addr argument and variable base to store_offset_t. (store_read): Likewise, also for addr argument of local function seg_read. Change type of len argument to size_t. * copy.c (copy_read): Change type of addr argument to store_offset_t. (copy_write): Likewise. * device.c (dev_read): Likewise. (dev_write): Likewise. * file.c (file_read): Likewise. (file_write): Likewise. (file_byte_read): Likewise. (file_byte_write): Likewise. * mvol.c (mvol_read): Likewise. (mvol_write): Likewise. * remap.c (remap_read): Likewise. (remap_write): Likewise. * stripe.c (stripe_read): Likewise. (stripe_write): Likewise. * task.c (task_read): Likewise. (task_write): Likewise. * zero.c (zero_read): Likewise. (zero_write): Likewise. * remap.c (store_remap_runs): Change type of addr and len arguments of local function add_run and of local variables addr, length, baddr, blen and len to store_offset_t. (remap_open): Cast -1 to store_offset_t, not off_t. * argp.c (struct store_parsed): Change type of interleave from off_t to store_offset_t. (store_parsed_append_args): Use %Ld instead %ld to print interleave value. (store_parsed_name): Likewise. ufs/ 2001-01-08 Marcus Brinkmann <marcus@gnu.org> * main.c (main): Use %Ld instead %ld to print store->size. * hyper.c (get_hypermetadata): Likewise. * inode.c (diskfs_S_file_get_storage_info): Change type of variables start and length from off_t to store_offset_t. utils/ 2001-01-08 Marcus Brinkmann <marcus@gnu.org> * storeread.c (main): Change type of addr to store_offset_t, also for first argument of local function dump. Add comment about store->size as len parameter for store_read. Use atoll instead atoi for addr argument. * storeinfo.c (print_store): Remove local function pint, add two similar functions psiz and poff, accepting and printing a size_t or store_offset_t respectively. Use psiz to print block_size, poff to print blocks and size of store. Use %Ld instead %ld to print runs. * storecat.c (main): Change type of addr and left to store_offset_t.
Diffstat (limited to 'libstore/store.h')
-rw-r--r--libstore/store.h30
1 files changed, 17 insertions, 13 deletions
diff --git a/libstore/store.h b/libstore/store.h
index c7789373..9c5e5bfd 100644
--- a/libstore/store.h
+++ b/libstore/store.h
@@ -39,10 +39,13 @@
#endif
+/* Type for addresses inside the store. */
+typedef off64_t store_offset_t;
+
/* A portion of a store. If START == -1, it's a hole. */
struct store_run
{
- off_t start, length;
+ store_offset_t start, length;
};
struct store
@@ -57,13 +60,13 @@ struct store
size_t num_runs; /* Length of RUNS. */
/* Maximum valid offset. This is the same as SIZE, but in blocks. */
- off_t end;
+ store_offset_t end;
/* WRAP_SRC is the sum of the run lengths in RUNS. If this is less than
END, then RUNS describes a repeating pattern, of length WRAP_SRC -- each
successive iteration having an additional offset of WRAP_DST. */
- off_t wrap_src;
- off_t wrap_dst; /* Only meaningful if WRAP_SRC < END */
+ store_offset_t wrap_src;
+ store_offset_t wrap_dst; /* Only meaningful if WRAP_SRC < END */
/* Handles for the underlying storage. */
char *name; /* Malloced */
@@ -73,9 +76,9 @@ struct store
size_t block_size;
/* The number of blocks (of size BLOCK_SIZE) in this storage. */
- off_t blocks;
+ store_offset_t blocks;
/* The number of bytes in this storage, including holes. */
- off_t size;
+ store_offset_t size;
/* Log_2 (BLOCK_SIZE) or 0 if not a power of 2. */
unsigned log2_block_size;
@@ -121,11 +124,11 @@ struct store
| ~(STORE_BACKEND_SPEC_BASE - 1))
typedef error_t (*store_write_meth_t)(struct store *store,
- off_t addr, size_t index,
+ store_offset_t addr, size_t index,
void *buf, mach_msg_type_number_t len,
mach_msg_type_number_t *amount);
typedef error_t (*store_read_meth_t)(struct store *store,
- off_t addr, size_t index,
+ store_offset_t addr, size_t index,
mach_msg_type_number_t amount,
void **buf, mach_msg_type_number_t *len);
@@ -229,7 +232,7 @@ error_t
_store_create (const struct store_class *class, mach_port_t port,
int flags, size_t block_size,
const struct store_run *runs, size_t num_runs,
- off_t end, struct store **store);
+ store_offset_t end, struct store **store);
/* Set STORE's current runs list to (a copy of) RUNS and NUM_RUNS. */
error_t store_set_runs (struct store *store,
@@ -293,13 +296,13 @@ error_t store_remap (struct store *source,
/* Write LEN bytes from BUF to STORE at ADDR. Returns the amount written in
AMOUNT (in bytes). ADDR is in BLOCKS (as defined by STORE->block_size). */
error_t store_write (struct store *store,
- off_t addr, void *buf, size_t len, size_t *amount);
+ store_offset_t addr, void *buf, size_t len, size_t *amount);
/* Read AMOUNT bytes from STORE at ADDR into BUF & LEN (which following the
usual mach buffer-return semantics) to STORE at ADDR. ADDR is in BLOCKS
(as defined by STORE->block_size). Note that LEN is in bytes. */
error_t store_read (struct store *store,
- off_t addr, size_t amount, void **buf, size_t *len);
+ store_offset_t addr, size_t amount, void **buf, size_t *len);
/* If STORE was created using store_create, remove the reference to the
source from which it was created. */
@@ -322,7 +325,7 @@ error_t store_create_pager (struct store *store, vm_prot_t prot, ...,
/* Creating specific types of stores. */
/* Return a new zero store SIZE bytes long in STORE. */
-error_t store_zero_create (off_t size, int flags, struct store **store);
+error_t store_zero_create (store_offset_t size, int flags, struct store **store);
/* Return a new store in STORE referring to the mach device DEVICE. Consumes
the send right DEVICE. */
@@ -388,7 +391,8 @@ error_t store_typed_open (const char *name, int flags,
consumed -- that is, will be freed when this store is (however, the
*array* STRIPES is copied, and so should be freed by the caller). */
error_t store_ileave_create (struct store * const *stripes, size_t num_stripes,
- off_t interleave, int flags, struct store **store);
+ store_offset_t interleave, int flags,
+ struct store **store);
/* Return a new store in STORE that concatenates all the stores in STORES
(NUM_STORES of them). The stores in STRIPES are consumed -- that is, will