Subversion Repositories HelenOS

Rev

Rev 4377 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4377 Rev 4692
Line 45... Line 45...
45
#include <stdlib.h>
45
#include <stdlib.h>
46
#include <string.h>
46
#include <string.h>
47
#include <stdio.h>
47
#include <stdio.h>
48
#include <assert.h>
48
#include <assert.h>
49
#include <sys/types.h>
49
#include <sys/types.h>
50
#include <libadt/hash_table.h>
50
#include <adt/hash_table.h>
51
#include <as.h>
51
#include <as.h>
52
#include <libfs.h>
52
#include <libfs.h>
53
 
53
 
54
#define min(a, b)       ((a) < (b) ? (a) : (b))
54
#define min(a, b)       ((a) < (b) ? (a) : (b))
55
#define max(a, b)       ((a) > (b) ? (a) : (b))
55
#define max(a, b)       ((a) > (b) ? (a) : (b))
Line 248... Line 248...
248
    nodep->bp = malloc(sizeof(fs_node_t));
248
    nodep->bp = malloc(sizeof(fs_node_t));
249
    if (!nodep->bp) {
249
    if (!nodep->bp) {
250
        free(nodep);
250
        free(nodep);
251
        return NULL;
251
        return NULL;
252
    }
252
    }
-
 
253
    fs_node_initialize(nodep->bp);
253
    nodep->bp->data = nodep;    /* link the FS and TMPFS nodes */
254
    nodep->bp->data = nodep;    /* link the FS and TMPFS nodes */
254
    if (!tmpfs_root_get(dev_handle))
255
    if (!tmpfs_root_get(dev_handle))
255
        nodep->index = TMPFS_SOME_ROOT;
256
        nodep->index = TMPFS_SOME_ROOT;
256
    else
257
    else
257
        nodep->index = tmpfs_next_index++;
258
        nodep->index = tmpfs_next_index++;
Line 406... Line 407...
406
    }
407
    }
407
}
408
}
408
 
409
 
409
void tmpfs_mount(ipc_callid_t rid, ipc_call_t *request)
410
void tmpfs_mount(ipc_callid_t rid, ipc_call_t *request)
410
{
411
{
411
    dev_handle_t mp_dev_handle = (dev_handle_t) IPC_GET_ARG1(*request);
-
 
412
    fs_index_t mp_index = (fs_index_t) IPC_GET_ARG2(*request);
-
 
413
    fs_handle_t mr_fs_handle = (fs_handle_t) IPC_GET_ARG3(*request);
412
    libfs_mount(&tmpfs_libfs_ops, tmpfs_reg.fs_handle, rid, request);
414
    dev_handle_t mr_dev_handle = (dev_handle_t) IPC_GET_ARG4(*request);
-
 
415
   
-
 
416
    ipc_answer_0(rid, ENOTSUP);
-
 
417
}
413
}
418
 
414
 
419
void tmpfs_lookup(ipc_callid_t rid, ipc_call_t *request)
415
void tmpfs_lookup(ipc_callid_t rid, ipc_call_t *request)
420
{
416
{
421
    libfs_lookup(&tmpfs_libfs_ops, tmpfs_reg.fs_handle, rid, request);
417
    libfs_lookup(&tmpfs_libfs_ops, tmpfs_reg.fs_handle, rid, request);
Line 598... Line 594...
598
    nodep->size = size;
594
    nodep->size = size;
599
    nodep->data = newdata;
595
    nodep->data = newdata;
600
    ipc_answer_0(rid, EOK);
596
    ipc_answer_0(rid, EOK);
601
}
597
}
602
 
598
 
-
 
599
void tmpfs_close(ipc_callid_t rid, ipc_call_t *request)
-
 
600
{
-
 
601
    ipc_answer_0(rid, EOK);
-
 
602
}
-
 
603
 
603
void tmpfs_destroy(ipc_callid_t rid, ipc_call_t *request)
604
void tmpfs_destroy(ipc_callid_t rid, ipc_call_t *request)
604
{
605
{
605
    dev_handle_t dev_handle = (dev_handle_t)IPC_GET_ARG1(*request);
606
    dev_handle_t dev_handle = (dev_handle_t)IPC_GET_ARG1(*request);
606
    fs_index_t index = (fs_index_t)IPC_GET_ARG2(*request);
607
    fs_index_t index = (fs_index_t)IPC_GET_ARG2(*request);
607
    int rc;
608
    int rc;
Line 620... Line 621...
620
        nh_link);
621
        nh_link);
621
    rc = tmpfs_destroy_node(FS_NODE(nodep));
622
    rc = tmpfs_destroy_node(FS_NODE(nodep));
622
    ipc_answer_0(rid, rc);
623
    ipc_answer_0(rid, rc);
623
}
624
}
624
 
625
 
-
 
626
void tmpfs_open_node(ipc_callid_t rid, ipc_call_t *request)
-
 
627
{
-
 
628
    libfs_open_node(&tmpfs_libfs_ops, tmpfs_reg.fs_handle, rid, request);
-
 
629
}
-
 
630
 
-
 
631
void tmpfs_stat(ipc_callid_t rid, ipc_call_t *request)
-
 
632
{
-
 
633
    libfs_stat(&tmpfs_libfs_ops, tmpfs_reg.fs_handle, rid, request);
-
 
634
}
-
 
635
 
-
 
636
void tmpfs_sync(ipc_callid_t rid, ipc_call_t *request)
-
 
637
{
-
 
638
    /* Dummy implementation */
-
 
639
    ipc_answer_0(rid, EOK);
-
 
640
}
-
 
641
 
625
/**
642
/**
626
 * @}
643
 * @}
627
 */
644
 */