Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/block/libblock.h

    r08cba4b r79ae36dd  
    11/*
    22 * Copyright (c) 2008 Jakub Jermar
    3  * Copyright (c) 2008 Martin Decky
    4  * Copyright (c) 2011 Martin Sucha
     3 * Copyright (c) 2008 Martin Decky 
     4 * Copyright (c) 2011 Martin Sucha 
    55 * All rights reserved.
    66 *
     
    7373        /** Readers / Writer lock protecting the contents of the block. */
    7474        fibril_rwlock_t contents_lock;
    75         /** Service ID of service providing the block device. */
    76         service_id_t service_id;
     75        /** Handle of the device where the block resides. */
     76        devmap_handle_t devmap_handle;
    7777        /** Logical block address */
    7878        aoff64_t lba;
     
    9797};
    9898
    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;
     99extern int block_init(exch_mgmt_t, devmap_handle_t, size_t);
     100extern void block_fini(devmap_handle_t);
    111101
    112 extern int block_init(exch_mgmt_t, service_id_t, size_t);
    113 extern void block_fini(service_id_t);
     102extern int block_bb_read(devmap_handle_t, aoff64_t);
     103extern void *block_bb_get(devmap_handle_t);
    114104
    115 extern int block_bb_read(service_id_t, aoff64_t);
    116 extern void *block_bb_get(service_id_t);
     105extern int block_cache_init(devmap_handle_t, size_t, unsigned, enum cache_mode);
     106extern int block_cache_fini(devmap_handle_t);
    117107
    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);
     108extern int block_get(block_t **, devmap_handle_t, aoff64_t, int);
    122109extern int block_put(block_t *);
    123110
    124 extern int block_seqread(service_id_t, size_t *, size_t *, aoff64_t *, void *,
     111extern int block_seqread(devmap_handle_t, size_t *, size_t *, aoff64_t *, void *,
    125112    size_t);
    126113
    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 *);
     114extern int block_get_bsize(devmap_handle_t, size_t *);
     115extern int block_get_nblocks(devmap_handle_t, aoff64_t *);
     116extern int block_read_direct(devmap_handle_t, aoff64_t, size_t, void *);
     117extern int block_read_bytes_direct(devmap_handle_t, aoff64_t, size_t, void *);
     118extern int block_write_direct(devmap_handle_t, aoff64_t, size_t, const void *);
    133119
    134120#endif
     
    136122/** @}
    137123 */
     124
Note: See TracChangeset for help on using the changeset viewer.