Changes in uspace/lib/block/libblock.h [a6ba0c9:08cba4b] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/block/libblock.h
ra6ba0c9 r08cba4b 1 1 /* 2 2 * Copyright (c) 2008 Jakub Jermar 3 * Copyright (c) 2008 Martin Decky 3 * Copyright (c) 2008 Martin Decky 4 * Copyright (c) 2011 Martin Sucha 4 5 * All rights reserved. 5 6 * … … 39 40 40 41 #include <stdint.h> 42 #include <async.h> 41 43 #include "../../srv/vfs/vfs.h" 42 44 #include <fibril_synch.h> … … 71 73 /** Readers / Writer lock protecting the contents of the block. */ 72 74 fibril_rwlock_t contents_lock; 73 /** Handle of the device where the block resides. */74 devmap_handle_t devmap_handle;75 /** Service ID of service providing the block device. */ 76 service_id_t service_id; 75 77 /** Logical block address */ 76 78 aoff64_t lba; … … 95 97 }; 96 98 97 extern int block_init(devmap_handle_t, size_t); 98 extern void block_fini(devmap_handle_t); 99 typedef struct { 100 uint16_t size; 101 uint8_t first_session; 102 uint8_t last_session; 103 104 uint8_t res0; 105 uint8_t adr_ctrl; 106 uint8_t first_track; 107 uint8_t res1; 108 109 uint32_t first_lba; 110 } __attribute__((packed)) toc_block_t; 99 111 100 extern int block_ bb_read(devmap_handle_t, aoff64_t);101 extern void *block_bb_get(devmap_handle_t);112 extern int block_init(exch_mgmt_t, service_id_t, size_t); 113 extern void block_fini(service_id_t); 102 114 103 extern int block_ cache_init(devmap_handle_t, size_t, unsigned, enum cache_mode);104 extern int block_cache_fini(devmap_handle_t);115 extern int block_bb_read(service_id_t, aoff64_t); 116 extern void *block_bb_get(service_id_t); 105 117 106 extern int block_get(block_t **, devmap_handle_t, aoff64_t, int); 118 extern int block_cache_init(service_id_t, size_t, unsigned, enum cache_mode); 119 extern int block_cache_fini(service_id_t); 120 121 extern int block_get(block_t **, service_id_t, aoff64_t, int); 107 122 extern int block_put(block_t *); 108 123 109 extern int block_seqread( devmap_handle_t, size_t *, size_t *, aoff64_t *, void *,124 extern int block_seqread(service_id_t, size_t *, size_t *, aoff64_t *, void *, 110 125 size_t); 111 126 112 extern int block_get_bsize(devmap_handle_t, size_t *); 113 extern int block_get_nblocks(devmap_handle_t, aoff64_t *); 114 extern int block_read_direct(devmap_handle_t, aoff64_t, size_t, void *); 115 extern int block_write_direct(devmap_handle_t, aoff64_t, size_t, const void *); 127 extern int block_get_bsize(service_id_t, size_t *); 128 extern int block_get_nblocks(service_id_t, aoff64_t *); 129 extern toc_block_t *block_get_toc(service_id_t, uint8_t); 130 extern int block_read_direct(service_id_t, aoff64_t, size_t, void *); 131 extern int block_read_bytes_direct(service_id_t, aoff64_t, size_t, void *); 132 extern int block_write_direct(service_id_t, aoff64_t, size_t, const void *); 116 133 117 134 #endif … … 119 136 /** @} 120 137 */ 121
Note:
See TracChangeset
for help on using the changeset viewer.