Ignore:
File:
1 edited

Legend:

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

    r08cba4b ra6ba0c9  
    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
    54 * All rights reserved.
    65 *
     
    4039
    4140#include <stdint.h>
    42 #include <async.h>
    4341#include "../../srv/vfs/vfs.h"
    4442#include <fibril_synch.h>
     
    7371        /** Readers / Writer lock protecting the contents of the block. */
    7472        fibril_rwlock_t contents_lock;
    75         /** Service ID of service providing the block device. */
    76         service_id_t service_id;
     73        /** Handle of the device where the block resides. */
     74        devmap_handle_t devmap_handle;
    7775        /** Logical block address */
    7876        aoff64_t lba;
     
    9795};
    9896
    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;
     97extern int block_init(devmap_handle_t, size_t);
     98extern void block_fini(devmap_handle_t);
    11199
    112 extern int block_init(exch_mgmt_t, service_id_t, size_t);
    113 extern void block_fini(service_id_t);
     100extern int block_bb_read(devmap_handle_t, aoff64_t);
     101extern void *block_bb_get(devmap_handle_t);
    114102
    115 extern int block_bb_read(service_id_t, aoff64_t);
    116 extern void *block_bb_get(service_id_t);
     103extern int block_cache_init(devmap_handle_t, size_t, unsigned, enum cache_mode);
     104extern int block_cache_fini(devmap_handle_t);
    117105
    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);
     106extern int block_get(block_t **, devmap_handle_t, aoff64_t, int);
    122107extern int block_put(block_t *);
    123108
    124 extern int block_seqread(service_id_t, size_t *, size_t *, aoff64_t *, void *,
     109extern int block_seqread(devmap_handle_t, size_t *, size_t *, aoff64_t *, void *,
    125110    size_t);
    126111
    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 *);
     112extern int block_get_bsize(devmap_handle_t, size_t *);
     113extern int block_get_nblocks(devmap_handle_t, aoff64_t *);
     114extern int block_read_direct(devmap_handle_t, aoff64_t, size_t, void *);
     115extern int block_write_direct(devmap_handle_t, aoff64_t, size_t, const void *);
    133116
    134117#endif
     
    136119/** @}
    137120 */
     121
Note: See TracChangeset for help on using the changeset viewer.