Changeset 15f3c3f in mainline for uspace/lib


Ignore:
Timestamp:
2011-06-22T22:00:52Z (15 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
86ffa27f
Parents:
ef09a7a
Message:

Rename devmap to loc, devfs to locfs.

Location:
uspace/lib
Files:
1 added
1 deleted
15 edited
2 moved

Legend:

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

    ref09a7a r15f3c3f  
    3939#include "libblock.h"
    4040#include "../../srv/vfs/vfs.h"
    41 #include <ipc/devmap.h>
     41#include <ipc/loc.h>
    4242#include <ipc/bd.h>
    4343#include <ipc/services.h>
     
    7878typedef struct {
    7979        link_t link;
    80         devmap_handle_t devmap_handle;
     80        service_id_t service_id;
    8181        async_sess_t *sess;
    8282        fibril_mutex_t comm_area_lock;
     
    9595static aoff64_t ba_ltop(devcon_t *, aoff64_t);
    9696
    97 static devcon_t *devcon_search(devmap_handle_t devmap_handle)
     97static devcon_t *devcon_search(service_id_t service_id)
    9898{
    9999        fibril_mutex_lock(&dcl_lock);
     
    101101        list_foreach(dcl, cur) {
    102102                devcon_t *devcon = list_get_instance(cur, devcon_t, link);
    103                 if (devcon->devmap_handle == devmap_handle) {
     103                if (devcon->service_id == service_id) {
    104104                        fibril_mutex_unlock(&dcl_lock);
    105105                        return devcon;
     
    111111}
    112112
    113 static int devcon_add(devmap_handle_t devmap_handle, async_sess_t *sess,
     113static int devcon_add(service_id_t service_id, async_sess_t *sess,
    114114    size_t bsize, void *comm_area, size_t comm_size)
    115115{
     
    124124       
    125125        link_initialize(&devcon->link);
    126         devcon->devmap_handle = devmap_handle;
     126        devcon->service_id = service_id;
    127127        devcon->sess = sess;
    128128        fibril_mutex_initialize(&devcon->comm_area_lock);
     
    137137        list_foreach(dcl, cur) {
    138138                devcon_t *d = list_get_instance(cur, devcon_t, link);
    139                 if (d->devmap_handle == devmap_handle) {
     139                if (d->service_id == service_id) {
    140140                        fibril_mutex_unlock(&dcl_lock);
    141141                        free(devcon);
     
    155155}
    156156
    157 int block_init(exch_mgmt_t mgmt, devmap_handle_t devmap_handle,
     157int block_init(exch_mgmt_t mgmt, service_id_t service_id,
    158158    size_t comm_size)
    159159{
     
    163163                return ENOMEM;
    164164       
    165         async_sess_t *sess = devmap_device_connect(mgmt, devmap_handle,
     165        async_sess_t *sess = loc_service_connect(mgmt, service_id,
    166166            IPC_FLAG_BLOCKING);
    167167        if (!sess) {
     
    190190        }
    191191       
    192         rc = devcon_add(devmap_handle, sess, bsize, comm_area, comm_size);
     192        rc = devcon_add(service_id, sess, bsize, comm_area, comm_size);
    193193        if (rc != EOK) {
    194194                munmap(comm_area, comm_size);
     
    200200}
    201201
    202 void block_fini(devmap_handle_t devmap_handle)
    203 {
    204         devcon_t *devcon = devcon_search(devmap_handle);
     202void block_fini(service_id_t service_id)
     203{
     204        devcon_t *devcon = devcon_search(service_id);
    205205        assert(devcon);
    206206       
    207207        if (devcon->cache)
    208                 (void) block_cache_fini(devmap_handle);
     208                (void) block_cache_fini(service_id);
    209209       
    210210        devcon_remove(devcon);
     
    219219}
    220220
    221 int block_bb_read(devmap_handle_t devmap_handle, aoff64_t ba)
     221int block_bb_read(service_id_t service_id, aoff64_t ba)
    222222{
    223223        void *bb_buf;
    224224        int rc;
    225225
    226         devcon_t *devcon = devcon_search(devmap_handle);
     226        devcon_t *devcon = devcon_search(service_id);
    227227        if (!devcon)
    228228                return ENOENT;
     
    249249}
    250250
    251 void *block_bb_get(devmap_handle_t devmap_handle)
    252 {
    253         devcon_t *devcon = devcon_search(devmap_handle);
     251void *block_bb_get(service_id_t service_id)
     252{
     253        devcon_t *devcon = devcon_search(service_id);
    254254        assert(devcon);
    255255        return devcon->bb_buf;
     
    277277};
    278278
    279 int block_cache_init(devmap_handle_t devmap_handle, size_t size, unsigned blocks,
     279int block_cache_init(service_id_t service_id, size_t size, unsigned blocks,
    280280    enum cache_mode mode)
    281281{
    282         devcon_t *devcon = devcon_search(devmap_handle);
     282        devcon_t *devcon = devcon_search(service_id);
    283283        cache_t *cache;
    284284        if (!devcon)
     
    315315}
    316316
    317 int block_cache_fini(devmap_handle_t devmap_handle)
    318 {
    319         devcon_t *devcon = devcon_search(devmap_handle);
     317int block_cache_fini(service_id_t service_id)
     318{
     319        devcon_t *devcon = devcon_search(service_id);
    320320        cache_t *cache;
    321321        int rc;
     
    384384 * @param block                 Pointer to where the function will store the
    385385 *                              block pointer on success.
    386  * @param devmap_handle         Device handle of the block device.
     386 * @param service_id            Service ID of the block device.
    387387 * @param ba                    Block address (logical).
    388388 * @param flags                 If BLOCK_FLAGS_NOREAD is specified, block_get()
     
    392392 * @return                      EOK on success or a negative error code.
    393393 */
    394 int block_get(block_t **block, devmap_handle_t devmap_handle, aoff64_t ba, int flags)
     394int block_get(block_t **block, service_id_t service_id, aoff64_t ba, int flags)
    395395{
    396396        devcon_t *devcon;
     
    401401        int rc;
    402402       
    403         devcon = devcon_search(devmap_handle);
     403        devcon = devcon_search(service_id);
    404404
    405405        assert(devcon);
     
    527527
    528528                block_initialize(b);
    529                 b->devmap_handle = devmap_handle;
     529                b->service_id = service_id;
    530530                b->size = cache->lblock_size;
    531531                b->lba = ba;
     
    577577int block_put(block_t *block)
    578578{
    579         devcon_t *devcon = devcon_search(block->devmap_handle);
     579        devcon_t *devcon = devcon_search(block->service_id);
    580580        cache_t *cache;
    581581        unsigned blocks_cached;
     
    675675/** Read sequential data from a block device.
    676676 *
    677  * @param devmap_handle Device handle of the block device.
     677 * @param service_id    Service ID of the block device.
    678678 * @param bufpos        Pointer to the first unread valid offset within the
    679679 *                      communication buffer.
     
    687687 * @return              EOK on success or a negative return code on failure.
    688688 */
    689 int block_seqread(devmap_handle_t devmap_handle, size_t *bufpos, size_t *buflen,
     689int block_seqread(service_id_t service_id, size_t *bufpos, size_t *buflen,
    690690    aoff64_t *pos, void *dst, size_t size)
    691691{
     
    695695        devcon_t *devcon;
    696696
    697         devcon = devcon_search(devmap_handle);
     697        devcon = devcon_search(service_id);
    698698        assert(devcon);
    699699        block_size = devcon->pblock_size;
     
    741741/** Read blocks directly from device (bypass cache).
    742742 *
    743  * @param devmap_handle Device handle of the block device.
     743 * @param service_id    Service ID of the block device.
    744744 * @param ba            Address of first block (physical).
    745745 * @param cnt           Number of blocks.
     
    748748 * @return              EOK on success or negative error code on failure.
    749749 */
    750 int block_read_direct(devmap_handle_t devmap_handle, aoff64_t ba, size_t cnt, void *buf)
     750int block_read_direct(service_id_t service_id, aoff64_t ba, size_t cnt, void *buf)
    751751{
    752752        devcon_t *devcon;
    753753        int rc;
    754754
    755         devcon = devcon_search(devmap_handle);
     755        devcon = devcon_search(service_id);
    756756        assert(devcon);
    757757       
     
    769769/** Write blocks directly to device (bypass cache).
    770770 *
    771  * @param devmap_handle Device handle of the block device.
     771 * @param service_id    Service ID of the block device.
    772772 * @param ba            Address of first block (physical).
    773773 * @param cnt           Number of blocks.
     
    776776 * @return              EOK on success or negative error code on failure.
    777777 */
    778 int block_write_direct(devmap_handle_t devmap_handle, aoff64_t ba, size_t cnt,
     778int block_write_direct(service_id_t service_id, aoff64_t ba, size_t cnt,
    779779    const void *data)
    780780{
     
    782782        int rc;
    783783
    784         devcon = devcon_search(devmap_handle);
     784        devcon = devcon_search(service_id);
    785785        assert(devcon);
    786786       
     
    797797/** Get device block size.
    798798 *
    799  * @param devmap_handle Device handle of the block device.
     799 * @param service_id    Service ID of the block device.
    800800 * @param bsize         Output block size.
    801801 *
    802802 * @return              EOK on success or negative error code on failure.
    803803 */
    804 int block_get_bsize(devmap_handle_t devmap_handle, size_t *bsize)
     804int block_get_bsize(service_id_t service_id, size_t *bsize)
    805805{
    806806        devcon_t *devcon;
    807807
    808         devcon = devcon_search(devmap_handle);
     808        devcon = devcon_search(service_id);
    809809        assert(devcon);
    810810       
     
    814814/** Get number of blocks on device.
    815815 *
    816  * @param devmap_handle Device handle of the block device.
     816 * @param service_id    Service ID of the block device.
    817817 * @param nblocks       Output number of blocks.
    818818 *
    819819 * @return              EOK on success or negative error code on failure.
    820820 */
    821 int block_get_nblocks(devmap_handle_t devmap_handle, aoff64_t *nblocks)
    822 {
    823         devcon_t *devcon = devcon_search(devmap_handle);
     821int block_get_nblocks(service_id_t service_id, aoff64_t *nblocks)
     822{
     823        devcon_t *devcon = devcon_search(service_id);
    824824        assert(devcon);
    825825       
     
    829829/** Read bytes directly from the device (bypass cache)
    830830 *
    831  * @param devmap_handle Device handle of the block device.
     831 * @param service_id    Service ID of the block device.
    832832 * @param abs_offset    Absolute offset in bytes where to start reading
    833833 * @param bytes                 Number of bytes to read
     
    836836 * @return              EOK on success or negative error code on failure.
    837837 */
    838 int block_read_bytes_direct(devmap_handle_t devmap_handle, aoff64_t abs_offset,
     838int block_read_bytes_direct(service_id_t service_id, aoff64_t abs_offset,
    839839    size_t bytes, void *data)
    840840{
     
    848848        size_t offset;
    849849       
    850         rc = block_get_bsize(devmap_handle, &phys_block_size);
     850        rc = block_get_bsize(service_id, &phys_block_size);
    851851        if (rc != EOK) {
    852852                return rc;
     
    866866        }
    867867       
    868         rc = block_read_direct(devmap_handle, first_block, blocks, buffer);
     868        rc = block_read_direct(service_id, first_block, blocks, buffer);
    869869        if (rc != EOK) {
    870870                free(buffer);
     
    900900                printf("Error %d reading %zu blocks starting at block %" PRIuOFF64
    901901                    " from device handle %" PRIun "\n", rc, cnt, ba,
    902                     devcon->devmap_handle);
     902                    devcon->service_id);
    903903#ifndef NDEBUG
    904904                stacktrace_print();
     
    929929        if (rc != EOK) {
    930930                printf("Error %d writing %zu blocks starting at block %" PRIuOFF64
    931                     " to device handle %" PRIun "\n", rc, cnt, ba, devcon->devmap_handle);
     931                    " to device handle %" PRIun "\n", rc, cnt, ba, devcon->service_id);
    932932#ifndef NDEBUG
    933933                stacktrace_print();
  • uspace/lib/block/libblock.h

    ref09a7a r15f3c3f  
    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         /** Handle of the device where the block resides. */
    76         devmap_handle_t devmap_handle;
     75        /** Service ID of service providing the block device. */
     76        service_id_t service_id;
    7777        /** Logical block address */
    7878        aoff64_t lba;
     
    9797};
    9898
    99 extern int block_init(exch_mgmt_t, devmap_handle_t, size_t);
    100 extern void block_fini(devmap_handle_t);
     99extern int block_init(exch_mgmt_t, service_id_t, size_t);
     100extern void block_fini(service_id_t);
    101101
    102 extern int block_bb_read(devmap_handle_t, aoff64_t);
    103 extern void *block_bb_get(devmap_handle_t);
     102extern int block_bb_read(service_id_t, aoff64_t);
     103extern void *block_bb_get(service_id_t);
    104104
    105 extern int block_cache_init(devmap_handle_t, size_t, unsigned, enum cache_mode);
    106 extern int block_cache_fini(devmap_handle_t);
     105extern int block_cache_init(service_id_t, size_t, unsigned, enum cache_mode);
     106extern int block_cache_fini(service_id_t);
    107107
    108 extern int block_get(block_t **, devmap_handle_t, aoff64_t, int);
     108extern int block_get(block_t **, service_id_t, aoff64_t, int);
    109109extern int block_put(block_t *);
    110110
    111 extern int block_seqread(devmap_handle_t, size_t *, size_t *, aoff64_t *, void *,
     111extern int block_seqread(service_id_t, size_t *, size_t *, aoff64_t *, void *,
    112112    size_t);
    113113
    114 extern int block_get_bsize(devmap_handle_t, size_t *);
    115 extern int block_get_nblocks(devmap_handle_t, aoff64_t *);
    116 extern int block_read_direct(devmap_handle_t, aoff64_t, size_t, void *);
    117 extern int block_read_bytes_direct(devmap_handle_t, aoff64_t, size_t, void *);
    118 extern int block_write_direct(devmap_handle_t, aoff64_t, size_t, const void *);
     114extern int block_get_bsize(service_id_t, size_t *);
     115extern int block_get_nblocks(service_id_t, aoff64_t *);
     116extern int block_read_direct(service_id_t, aoff64_t, size_t, void *);
     117extern int block_read_bytes_direct(service_id_t, aoff64_t, size_t, void *);
     118extern int block_write_direct(service_id_t, aoff64_t, size_t, const void *);
    119119
    120120#endif
  • uspace/lib/c/Makefile

    ref09a7a r15f3c3f  
    6767        generic/cap.c \
    6868        generic/clipboard.c \
    69         generic/devmap.c \
    7069        generic/devman.c \
    7170        generic/device/hw_res.c \
     
    7372        generic/event.c \
    7473        generic/errno.c \
     74        generic/loc.c \
    7575        generic/mem.c \
    7676        generic/str.c \
  • uspace/lib/c/generic/io/io.c

    ref09a7a r15f3c3f  
    4545#include <vfs/vfs.h>
    4646#include <vfs/vfs_sess.h>
    47 #include <ipc/devmap.h>
     47#include <ipc/loc.h>
    4848#include <adt/list.h>
    4949#include "../private/io.h"
  • uspace/lib/c/generic/vfs/vfs.c

    ref09a7a r15f3c3f  
    5151#include <assert.h>
    5252#include <str.h>
    53 #include <devmap.h>
     53#include <loc.h>
    5454#include <ipc/vfs.h>
    55 #include <ipc/devmap.h>
     55#include <ipc/loc.h>
    5656
    5757static FIBRIL_MUTEX_INITIALIZE(vfs_mutex);
     
    142142}
    143143
    144 int mount(const char *fs_name, const char *mp, const char *fqdn,
     144int mount(const char *fs_name, const char *mp, const char *fqsn,
    145145    const char *opts, unsigned int flags)
    146146{
    147147        int null_id = -1;
    148         char null[DEVMAP_NAME_MAXLEN];
    149        
    150         if (str_cmp(fqdn, "") == 0) {
     148        char null[LOC_NAME_MAXLEN];
     149       
     150        if (str_cmp(fqsn, "") == 0) {
    151151                /* No device specified, create a fresh
    152152                   null/%d device instead */
    153                 null_id = devmap_null_create();
     153                null_id = loc_null_create();
    154154               
    155155                if (null_id == -1)
    156156                        return ENOMEM;
    157157               
    158                 snprintf(null, DEVMAP_NAME_MAXLEN, "null/%d", null_id);
    159                 fqdn = null;
    160         }
    161        
    162         devmap_handle_t devmap_handle;
    163         int res = devmap_device_get_handle(fqdn, &devmap_handle, flags);
     158                snprintf(null, LOC_NAME_MAXLEN, "null/%d", null_id);
     159                fqsn = null;
     160        }
     161       
     162        service_id_t service_id;
     163        int res = loc_service_get_id(fqsn, &service_id, flags);
    164164        if (res != EOK) {
    165165                if (null_id != -1)
    166                         devmap_null_destroy(null_id);
     166                        loc_null_destroy(null_id);
    167167               
    168168                return res;
     
    173173        if (!mpa) {
    174174                if (null_id != -1)
    175                         devmap_null_destroy(null_id);
     175                        loc_null_destroy(null_id);
    176176               
    177177                return ENOMEM;
     
    181181
    182182        sysarg_t rc_orig;
    183         aid_t req = async_send_2(exch, VFS_IN_MOUNT, devmap_handle, flags, NULL);
     183        aid_t req = async_send_2(exch, VFS_IN_MOUNT, service_id, flags, NULL);
    184184        sysarg_t rc = async_data_write_start(exch, (void *) mpa, mpa_size);
    185185        if (rc != EOK) {
     
    189189               
    190190                if (null_id != -1)
    191                         devmap_null_destroy(null_id);
     191                        loc_null_destroy(null_id);
    192192               
    193193                if (rc_orig == EOK)
     
    204204               
    205205                if (null_id != -1)
    206                         devmap_null_destroy(null_id);
     206                        loc_null_destroy(null_id);
    207207               
    208208                if (rc_orig == EOK)
     
    219219               
    220220                if (null_id != -1)
    221                         devmap_null_destroy(null_id);
     221                        loc_null_destroy(null_id);
    222222               
    223223                if (rc_orig == EOK)
     
    235235               
    236236                if (null_id != -1)
    237                         devmap_null_destroy(null_id);
     237                        loc_null_destroy(null_id);
    238238               
    239239                if (rc_orig == EOK)
     
    248248       
    249249        if ((rc != EOK) && (null_id != -1))
    250                 devmap_null_destroy(null_id);
     250                loc_null_destroy(null_id);
    251251       
    252252        return (int) rc;
     
    335335        ipc_call_t answer;
    336336        aid_t req = async_send_4(exch, VFS_IN_OPEN_NODE, node->fs_handle,
    337             node->devmap_handle, node->index, oflag, &answer);
     337            node->service_id, node->index, oflag, &answer);
    338338       
    339339        vfs_exchange_end(exch);
     
    749749        }
    750750       
    751         if (!stat.device) {
     751        if (!stat.service) {
    752752                errno = ENOENT;
    753753                return NULL;
    754754        }
    755755       
    756         return devmap_device_connect(mgmt, stat.device, 0);
     756        return loc_service_connect(mgmt, stat.service, 0);
    757757}
    758758
     
    764764        if (rc == EOK) {
    765765                node->fs_handle = stat.fs_handle;
    766                 node->devmap_handle = stat.devmap_handle;
     766                node->service_id = stat.service_id;
    767767                node->index = stat.index;
    768768        }
  • uspace/lib/c/include/ipc/devman.h

    ref09a7a r15f3c3f  
    130130        DEVMAN_CLIENT,
    131131        DEVMAN_CONNECT_TO_DEVICE,
    132         DEVMAN_CONNECT_FROM_DEVMAP,
     132        DEVMAN_CONNECT_FROM_LOC,
    133133        DEVMAN_CONNECT_TO_PARENTS_DEVICE
    134134} devman_interface_t;
  • uspace/lib/c/include/ipc/loc.h

    ref09a7a r15f3c3f  
    11/*
    22 * Copyright (c) 2007 Josef Cejka
     3 * Copyright (c) 2011 Jiri Svoboda
    34 * All rights reserved.
    45 *
     
    2728 */
    2829
    29 /** @addtogroup devmap
     30/** @addtogroup loc
    3031 * @{
    3132 */
    3233
    33 #ifndef LIBC_IPC_DEVMAP_H_
    34 #define LIBC_IPC_DEVMAP_H_
     34#ifndef LIBC_IPC_LOC_H_
     35#define LIBC_IPC_LOC_H_
    3536
    3637#include <ipc/common.h>
    3738
    38 #define DEVMAP_NAME_MAXLEN  255
     39#define LOC_NAME_MAXLEN  255
    3940
    40 typedef sysarg_t devmap_handle_t;
     41typedef sysarg_t service_id_t;
    4142
    4243typedef enum {
    43         DEV_HANDLE_NONE,
    44         DEV_HANDLE_NAMESPACE,
    45         DEV_HANDLE_DEVICE
    46 } devmap_handle_type_t;
     44        LOC_OBJECT_NONE,
     45        LOC_OBJECT_NAMESPACE,
     46        LOC_OBJECT_SERVICE
     47} loc_object_type_t;
    4748
    4849typedef enum {
    49         DEVMAP_DRIVER_REGISTER = IPC_FIRST_USER_METHOD,
    50         DEVMAP_DRIVER_UNREGISTER,
    51         DEVMAP_DEVICE_REGISTER,
    52         DEVMAP_DEVICE_UNREGISTER,
    53         DEVMAP_DEVICE_GET_HANDLE,
    54         DEVMAP_NAMESPACE_GET_HANDLE,
    55         DEVMAP_HANDLE_PROBE,
    56         DEVMAP_NULL_CREATE,
    57         DEVMAP_NULL_DESTROY,
    58         DEVMAP_GET_NAMESPACE_COUNT,
    59         DEVMAP_GET_DEVICE_COUNT,
    60         DEVMAP_GET_NAMESPACES,
    61         DEVMAP_GET_DEVICES
    62 } devmap_request_t;
     50        LOC_SERVER_REGISTER = IPC_FIRST_USER_METHOD,
     51        LOC_SERVER_UNREGISTER,
     52        LOC_SERVICE_REGISTER,
     53        LOC_SERVICE_UNREGISTER,
     54        LOC_SERVICE_GET_ID,
     55        LOC_NAMESPACE_GET_ID,
     56        LOC_ID_PROBE,
     57        LOC_NULL_CREATE,
     58        LOC_NULL_DESTROY,
     59        LOC_GET_NAMESPACE_COUNT,
     60        LOC_GET_SERVICE_COUNT,
     61        LOC_GET_NAMESPACES,
     62        LOC_GET_SERVICES
     63} loc_request_t;
    6364
    64 /** Interface provided by devmap.
     65/** Ports provided by location service.
    6566 *
    66  * Every process that connects to devmap must ask one of following
    67  * interfaces otherwise connection will be refused.
     67 * Every process that connects to loc must ask one of following
     68 * ports, otherwise connection will be refused.
    6869 *
    6970 */
    7071typedef enum {
    71         /** Connect as device driver */
    72         DEVMAP_DRIVER = 1,
    73         /** Connect as client */
    74         DEVMAP_CLIENT,
     72        /** Service supplier (server) port */
     73        LOC_PORT_SUPPLIER = 1,
     74        /** Service consumer (client) port */
     75        LOC_PORT_CONSUMER,
    7576        /** Create new connection to instance of device that
    7677            is specified by second argument of call. */
    77         DEVMAP_CONNECT_TO_DEVICE
    78 } devmap_interface_t;
     78        LOC_CONNECT_TO_SERVICE
     79} loc_interface_t;
    7980
    8081typedef struct {
    81         devmap_handle_t handle;
    82         char name[DEVMAP_NAME_MAXLEN + 1];
    83 } dev_desc_t;
     82        service_id_t id;
     83        char name[LOC_NAME_MAXLEN + 1];
     84} loc_sdesc_t;
    8485
    8586#endif
  • uspace/lib/c/include/ipc/services.h

    ref09a7a r15f3c3f  
    4343        SERVICE_VIDEO,
    4444        SERVICE_VFS,
    45         SERVICE_DEVMAP,
     45        SERVICE_LOC,
    4646        SERVICE_DEVMAN,
    4747        SERVICE_IRC,
  • uspace/lib/c/include/loc.h

    ref09a7a r15f3c3f  
    3333 */
    3434
    35 #ifndef LIBC_DEVMAP_H_
    36 #define LIBC_DEVMAP_H_
     35#ifndef LIBC_LOC_H_
     36#define LIBC_LOC_H_
    3737
    38 #include <ipc/devmap.h>
     38#include <ipc/loc.h>
    3939#include <async.h>
    4040#include <bool.h>
    4141
    42 extern async_exch_t *devmap_exchange_begin_blocking(devmap_interface_t);
    43 extern async_exch_t *devmap_exchange_begin(devmap_interface_t);
    44 extern void devmap_exchange_end(async_exch_t *);
     42extern async_exch_t *loc_exchange_begin_blocking(loc_interface_t);
     43extern async_exch_t *loc_exchange_begin(loc_interface_t);
     44extern void loc_exchange_end(async_exch_t *);
    4545
    46 extern int devmap_driver_register(const char *, async_client_conn_t);
    47 extern int devmap_device_register(const char *, devmap_handle_t *);
    48 extern int devmap_device_register_with_iface(const char *, devmap_handle_t *,
     46extern int loc_server_register(const char *, async_client_conn_t);
     47extern int loc_service_register(const char *, service_id_t *);
     48extern int loc_service_register_with_iface(const char *, service_id_t *,
    4949    sysarg_t);
    5050
    51 extern int devmap_device_get_handle(const char *, devmap_handle_t *,
     51extern int loc_service_get_id(const char *, service_id_t *,
    5252    unsigned int);
    53 extern int devmap_namespace_get_handle(const char *, devmap_handle_t *,
     53extern int loc_namespace_get_id(const char *, service_id_t *,
    5454    unsigned int);
    55 extern devmap_handle_type_t devmap_handle_probe(devmap_handle_t);
     55extern loc_object_type_t loc_id_probe(service_id_t);
    5656
    57 extern async_sess_t *devmap_device_connect(exch_mgmt_t, devmap_handle_t,
     57extern async_sess_t *loc_service_connect(exch_mgmt_t, service_id_t,
    5858    unsigned int);
    5959
    60 extern int devmap_null_create(void);
    61 extern void devmap_null_destroy(int);
     60extern int loc_null_create(void);
     61extern void loc_null_destroy(int);
    6262
    63 extern size_t devmap_count_namespaces(void);
    64 extern size_t devmap_count_devices(devmap_handle_t);
     63extern size_t loc_count_namespaces(void);
     64extern size_t loc_count_services(service_id_t);
    6565
    66 extern size_t devmap_get_namespaces(dev_desc_t **);
    67 extern size_t devmap_get_devices(devmap_handle_t, dev_desc_t **);
     66extern size_t loc_get_namespaces(loc_sdesc_t **);
     67extern size_t loc_get_services(service_id_t, loc_sdesc_t **);
    6868
    6969#endif
  • uspace/lib/c/include/sys/stat.h

    ref09a7a r15f3c3f  
    3939#include <bool.h>
    4040#include <ipc/vfs.h>
    41 #include <ipc/devmap.h>
     41#include <ipc/loc.h>
    4242
    4343struct stat {
    4444        fs_handle_t fs_handle;
    45         devmap_handle_t devmap_handle;
     45        service_id_t service_id;
    4646        fs_index_t index;
    4747        unsigned int lnkcnt;
     
    4949        bool is_directory;
    5050        aoff64_t size;
    51         devmap_handle_t device;
     51        service_id_t service;
    5252};
    5353
  • uspace/lib/c/include/vfs/vfs.h

    ref09a7a r15f3c3f  
    3838#include <sys/types.h>
    3939#include <ipc/vfs.h>
    40 #include <ipc/devmap.h>
     40#include <ipc/loc.h>
    4141#include <stdio.h>
    4242
     
    4949typedef struct {
    5050        fs_handle_t fs_handle;
    51         devmap_handle_t devmap_handle;
     51        service_id_t service_id;
    5252        fs_index_t index;
    5353} fdi_node_t;
  • uspace/lib/ext2/libext2_filesystem.c

    ref09a7a r15f3c3f  
    5050 *
    5151 * @param fs                    Pointer to ext2_filesystem_t to initialize
    52  * @param devmap_handle Device handle of the block device
    53  *
    54  * @return              EOK on success or negative error code on failure
    55  */
    56 int ext2_filesystem_init(ext2_filesystem_t *fs, devmap_handle_t devmap_handle)
     52 * @param service_id    Service ID of the block device
     53 *
     54 * @return              EOK on success or negative error code on failure
     55 */
     56int ext2_filesystem_init(ext2_filesystem_t *fs, service_id_t service_id)
    5757{
    5858        int rc;
     
    6060        size_t block_size;
    6161       
    62         fs->device = devmap_handle;
     62        fs->device = service_id;
    6363       
    6464        rc = block_init(EXCHANGE_SERIALIZE, fs->device, 2048);
     
    8080        }
    8181       
    82         rc = block_cache_init(devmap_handle, block_size, 0, CACHE_MODE_WT);
     82        rc = block_cache_init(service_id, block_size, 0, CACHE_MODE_WT);
    8383        if (rc != EOK) {
    8484                block_fini(fs->device);
  • uspace/lib/ext2/libext2_filesystem.h

    ref09a7a r15f3c3f  
    4343
    4444typedef struct ext2_filesystem {
    45         devmap_handle_t         device;
     45        service_id_t            device;
    4646        ext2_superblock_t *     superblock;
    4747} ext2_filesystem_t;
     
    5959#define EXT2_SUPPORTED_READ_ONLY_FEATURES 0
    6060
    61 extern int ext2_filesystem_init(ext2_filesystem_t *, devmap_handle_t);
     61extern int ext2_filesystem_init(ext2_filesystem_t *, service_id_t);
    6262extern int ext2_filesystem_check_sanity(ext2_filesystem_t *);
    6363extern int ext2_filesystem_check_flags(ext2_filesystem_t *, bool *);
  • uspace/lib/ext2/libext2_superblock.c

    ref09a7a r15f3c3f  
    321321/** Read a superblock directly from device (i.e. no libblock cache)
    322322 *
    323  * @param devmap_handle Device handle of the block device.
     323 * @param service_id    Service ID of the block device.
    324324 * @param superblock    Pointer where to store pointer to new superblock
    325325 *
    326326 * @return              EOK on success or negative error code on failure.
    327327 */
    328 int ext2_superblock_read_direct(devmap_handle_t devmap_handle,
     328int ext2_superblock_read_direct(service_id_t service_id,
    329329    ext2_superblock_t **superblock)
    330330{
     
    337337        }
    338338       
    339         rc = block_read_bytes_direct(devmap_handle, EXT2_SUPERBLOCK_OFFSET,
     339        rc = block_read_bytes_direct(service_id, EXT2_SUPERBLOCK_OFFSET,
    340340            EXT2_SUPERBLOCK_SIZE, data);
    341341        if (rc != EOK) {
  • uspace/lib/ext2/libext2_superblock.h

    ref09a7a r15f3c3f  
    110110extern uint32_t ext2_superblock_get_features_read_only(ext2_superblock_t *);
    111111
    112 extern int ext2_superblock_read_direct(devmap_handle_t, ext2_superblock_t **);
     112extern int ext2_superblock_read_direct(service_id_t, ext2_superblock_t **);
    113113extern int ext2_superblock_check_sanity(ext2_superblock_t *);
    114114
  • uspace/lib/fs/libfs.c

    ref09a7a r15f3c3f  
    153153    ipc_call_t *request)
    154154{
    155         devmap_handle_t mp_devmap_handle = (devmap_handle_t) IPC_GET_ARG1(*request);
     155        service_id_t mp_service_id = (service_id_t) IPC_GET_ARG1(*request);
    156156        fs_index_t mp_fs_index = (fs_index_t) IPC_GET_ARG2(*request);
    157157        fs_handle_t mr_fs_handle = (fs_handle_t) IPC_GET_ARG3(*request);
    158         devmap_handle_t mr_devmap_handle = (devmap_handle_t) IPC_GET_ARG4(*request);
     158        service_id_t mr_service_id = (service_id_t) IPC_GET_ARG4(*request);
    159159       
    160160        async_sess_t *mountee_sess = async_clone_receive(EXCHANGE_PARALLEL);
     
    165165       
    166166        fs_node_t *fn;
    167         int res = ops->node_get(&fn, mp_devmap_handle, mp_fs_index);
     167        int res = ops->node_get(&fn, mp_service_id, mp_fs_index);
    168168        if ((res != EOK) || (!fn)) {
    169169                async_hangup(mountee_sess);
     
    195195        ipc_call_t answer;
    196196        int rc = async_data_write_forward_1_1(exch, VFS_OUT_MOUNTED,
    197             mr_devmap_handle, &answer);
     197            mr_service_id, &answer);
    198198        async_exchange_end(exch);
    199199       
     
    201201                fn->mp_data.mp_active = true;
    202202                fn->mp_data.fs_handle = mr_fs_handle;
    203                 fn->mp_data.devmap_handle = mr_devmap_handle;
     203                fn->mp_data.service_id = mr_service_id;
    204204                fn->mp_data.sess = mountee_sess;
    205205        }
     
    214214void libfs_unmount(libfs_ops_t *ops, ipc_callid_t rid, ipc_call_t *request)
    215215{
    216         devmap_handle_t mp_devmap_handle = (devmap_handle_t) IPC_GET_ARG1(*request);
     216        service_id_t mp_service_id = (service_id_t) IPC_GET_ARG1(*request);
    217217        fs_index_t mp_fs_index = (fs_index_t) IPC_GET_ARG2(*request);
    218218        fs_node_t *fn;
    219219        int res;
    220220
    221         res = ops->node_get(&fn, mp_devmap_handle, mp_fs_index);
     221        res = ops->node_get(&fn, mp_service_id, mp_fs_index);
    222222        if ((res != EOK) || (!fn)) {
    223223                async_answer_0(rid, combine_rc(res, ENOENT));
     
    238238         */
    239239        async_exch_t *exch = async_exchange_begin(fn->mp_data.sess);
    240         res = async_req_1_0(exch, VFS_OUT_UNMOUNTED, fn->mp_data.devmap_handle);
     240        res = async_req_1_0(exch, VFS_OUT_UNMOUNTED, fn->mp_data.service_id);
    241241        async_exchange_end(exch);
    242242
     
    248248                fn->mp_data.mp_active = false;
    249249                fn->mp_data.fs_handle = 0;
    250                 fn->mp_data.devmap_handle = 0;
     250                fn->mp_data.service_id = 0;
    251251                fn->mp_data.sess = NULL;
    252252               
     
    278278        unsigned int last = IPC_GET_ARG2(*request);
    279279        unsigned int next = first;
    280         devmap_handle_t devmap_handle = IPC_GET_ARG3(*request);
     280        service_id_t service_id = IPC_GET_ARG3(*request);
    281281        int lflag = IPC_GET_ARG4(*request);
    282282        fs_index_t index = IPC_GET_ARG5(*request);
     
    292292        fs_node_t *tmp = NULL;
    293293       
    294         rc = ops->root_get(&cur, devmap_handle);
     294        rc = ops->root_get(&cur, service_id);
    295295        on_error(rc, goto out_with_answer);
    296296       
     
    298298                async_exch_t *exch = async_exchange_begin(cur->mp_data.sess);
    299299                async_forward_slow(rid, exch, VFS_OUT_LOOKUP, next, last,
    300                     cur->mp_data.devmap_handle, lflag, index, IPC_FF_ROUTE_FROM_ME);
     300                    cur->mp_data.service_id, lflag, index, IPC_FF_ROUTE_FROM_ME);
    301301                async_exchange_end(exch);
    302302               
     
    358358                        async_exch_t *exch = async_exchange_begin(tmp->mp_data.sess);
    359359                        async_forward_slow(rid, exch, VFS_OUT_LOOKUP, next, last,
    360                             tmp->mp_data.devmap_handle, lflag, index,
     360                            tmp->mp_data.service_id, lflag, index,
    361361                            IPC_FF_ROUTE_FROM_ME);
    362362                        async_exchange_end(exch);
     
    387387                                fs_node_t *fn;
    388388                                if (lflag & L_CREATE)
    389                                         rc = ops->create(&fn, devmap_handle,
     389                                        rc = ops->create(&fn, service_id,
    390390                                            lflag);
    391391                                else
    392                                         rc = ops->node_get(&fn, devmap_handle,
     392                                        rc = ops->node_get(&fn, service_id,
    393393                                            index);
    394394                                on_error(rc, goto out_with_answer);
     
    405405                                                aoff64_t size = ops->size_get(fn);
    406406                                                async_answer_5(rid, fs_handle,
    407                                                     devmap_handle,
     407                                                    service_id,
    408408                                                    ops->index_get(fn),
    409409                                                    LOWER32(size),
     
    473473                        fs_node_t *fn;
    474474                        if (lflag & L_CREATE)
    475                                 rc = ops->create(&fn, devmap_handle, lflag);
     475                                rc = ops->create(&fn, service_id, lflag);
    476476                        else
    477                                 rc = ops->node_get(&fn, devmap_handle, index);
     477                                rc = ops->node_get(&fn, service_id, index);
    478478                        on_error(rc, goto out_with_answer);
    479479                       
     
    489489                                        aoff64_t size = ops->size_get(fn);
    490490                                        async_answer_5(rid, fs_handle,
    491                                             devmap_handle,
     491                                            service_id,
    492492                                            ops->index_get(fn),
    493493                                            LOWER32(size),
     
    515515                if (rc == EOK) {
    516516                        aoff64_t size = ops->size_get(cur);
    517                         async_answer_5(rid, fs_handle, devmap_handle,
     517                        async_answer_5(rid, fs_handle, service_id,
    518518                            ops->index_get(cur), LOWER32(size), UPPER32(size),
    519519                            old_lnkcnt);
     
    553553                if (rc == EOK) {
    554554                        aoff64_t size = ops->size_get(cur);
    555                         async_answer_5(rid, fs_handle, devmap_handle,
     555                        async_answer_5(rid, fs_handle, service_id,
    556556                            ops->index_get(cur), LOWER32(size), UPPER32(size),
    557557                            ops->lnkcnt_get(cur));
     
    577577    ipc_call_t *request)
    578578{
    579         devmap_handle_t devmap_handle = (devmap_handle_t) IPC_GET_ARG1(*request);
     579        service_id_t service_id = (service_id_t) IPC_GET_ARG1(*request);
    580580        fs_index_t index = (fs_index_t) IPC_GET_ARG2(*request);
    581581       
    582582        fs_node_t *fn;
    583         int rc = ops->node_get(&fn, devmap_handle, index);
     583        int rc = ops->node_get(&fn, service_id, index);
    584584        on_error(rc, answer_and_return(rid, rc));
    585585       
     
    598598       
    599599        stat.fs_handle = fs_handle;
    600         stat.devmap_handle = devmap_handle;
     600        stat.service_id = service_id;
    601601        stat.index = index;
    602602        stat.lnkcnt = ops->lnkcnt_get(fn);
     
    604604        stat.is_directory = ops->is_directory(fn);
    605605        stat.size = ops->size_get(fn);
    606         stat.device = ops->device_get(fn);
     606        stat.service = ops->device_get(fn);
    607607       
    608608        ops->node_put(fn);
     
    623623    ipc_call_t *request)
    624624{
    625         devmap_handle_t devmap_handle = IPC_GET_ARG1(*request);
     625        service_id_t service_id = IPC_GET_ARG1(*request);
    626626        fs_index_t index = IPC_GET_ARG2(*request);
    627627       
    628628        fs_node_t *fn;
    629         int rc = ops->node_get(&fn, devmap_handle, index);
     629        int rc = ops->node_get(&fn, service_id, index);
    630630        on_error(rc, answer_and_return(rid, rc));
    631631       
  • uspace/lib/fs/libfs.h

    ref09a7a r15f3c3f  
    4040#include <stdint.h>
    4141#include <async.h>
    42 #include <devmap.h>
     42#include <loc.h>
    4343
    4444typedef struct {
     
    4646        async_sess_t *sess;
    4747        fs_handle_t fs_handle;
    48         devmap_handle_t devmap_handle;
     48        service_id_t service_id;
    4949} mp_data_t;
    5050
     
    6060         * argument holds the output argument.
    6161         */
    62         int (* root_get)(fs_node_t **, devmap_handle_t);
     62        int (* root_get)(fs_node_t **, service_id_t);
    6363        int (* match)(fs_node_t **, fs_node_t *, const char *);
    64         int (* node_get)(fs_node_t **, devmap_handle_t, fs_index_t);
     64        int (* node_get)(fs_node_t **, service_id_t, fs_index_t);
    6565        int (* node_open)(fs_node_t *);
    6666        int (* node_put)(fs_node_t *);
    67         int (* create)(fs_node_t **, devmap_handle_t, int);
     67        int (* create)(fs_node_t **, service_id_t, int);
    6868        int (* destroy)(fs_node_t *);
    6969        int (* link)(fs_node_t *, fs_node_t *, const char *);
     
    8080        bool (* is_directory)(fs_node_t *);
    8181        bool (* is_file)(fs_node_t *);
    82         devmap_handle_t (* device_get)(fs_node_t *);
     82        service_id_t (* device_get)(fs_node_t *);
    8383} libfs_ops_t;
    8484
Note: See TracChangeset for help on using the changeset viewer.