Subversion Repositories HelenOS

Rev

Rev 2658 | Rev 2710 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2658 Rev 2690
Line 1... Line 1...
1
/*
1
/*
2
 * Copyright (c) 2006 Martin Decky
2
 * Copyright (c) 2006 Martin Decky
3
 * Copyright (c) 2007 Jakub Jermar
3
 * Copyright (c) 2008 Jakub Jermar
4
 * All rights reserved.
4
 * All rights reserved.
5
 *
5
 *
6
 * Redistribution and use in source and binary forms, with or without
6
 * Redistribution and use in source and binary forms, with or without
7
 * modification, are permitted provided that the following conditions
7
 * modification, are permitted provided that the following conditions
8
 * are met:
8
 * are met:
Line 52... Line 52...
52
 
52
 
53
 
53
 
54
vfs_info_t tmpfs_vfs_info = {
54
vfs_info_t tmpfs_vfs_info = {
55
    .name = "tmpfs",
55
    .name = "tmpfs",
56
    .ops = {
56
    .ops = {
57
        [IPC_METHOD_TO_VFS_OP(VFS_REGISTER)] = VFS_OP_DEFINED,
-
 
58
        [IPC_METHOD_TO_VFS_OP(VFS_MOUNT)] = VFS_OP_DEFINED,
-
 
59
        [IPC_METHOD_TO_VFS_OP(VFS_UNMOUNT)] = VFS_OP_DEFINED,
-
 
60
        [IPC_METHOD_TO_VFS_OP(VFS_LOOKUP)] = VFS_OP_DEFINED,
57
        [IPC_METHOD_TO_VFS_OP(VFS_LOOKUP)] = VFS_OP_DEFINED,
61
        [IPC_METHOD_TO_VFS_OP(VFS_OPEN)] = VFS_OP_DEFINED,
58
        [IPC_METHOD_TO_VFS_OP(VFS_OPEN)] = VFS_OP_DEFINED,
62
        [IPC_METHOD_TO_VFS_OP(VFS_CREATE)] = VFS_OP_DEFINED,
-
 
63
        [IPC_METHOD_TO_VFS_OP(VFS_CLOSE)] = VFS_OP_DEFINED,
59
        [IPC_METHOD_TO_VFS_OP(VFS_CLOSE)] = VFS_OP_DEFINED,
64
        [IPC_METHOD_TO_VFS_OP(VFS_READ)] = VFS_OP_DEFINED,
60
        [IPC_METHOD_TO_VFS_OP(VFS_READ)] = VFS_OP_DEFINED,
65
        [IPC_METHOD_TO_VFS_OP(VFS_WRITE)] = VFS_OP_DEFINED,
61
        [IPC_METHOD_TO_VFS_OP(VFS_WRITE)] = VFS_OP_DEFINED,
-
 
62
        [IPC_METHOD_TO_VFS_OP(VFS_TRUNCATE)] = VFS_OP_NULL,
66
        [IPC_METHOD_TO_VFS_OP(VFS_SEEK)] = VFS_OP_DEFAULT
63
        [IPC_METHOD_TO_VFS_OP(VFS_RENAME)] = VFS_OP_NULL,
-
 
64
        [IPC_METHOD_TO_VFS_OP(VFS_OPENDIR)] = VFS_OP_NULL,
-
 
65
        [IPC_METHOD_TO_VFS_OP(VFS_READDIR)] = VFS_OP_NULL,
-
 
66
        [IPC_METHOD_TO_VFS_OP(VFS_CLOSEDIR)] = VFS_OP_NULL,
-
 
67
        [IPC_METHOD_TO_VFS_OP(VFS_UNLINK)] = VFS_OP_NULL,
-
 
68
        [IPC_METHOD_TO_VFS_OP(VFS_MOUNT)] = VFS_OP_NULL,
-
 
69
        [IPC_METHOD_TO_VFS_OP(VFS_UNMOUNT)] = VFS_OP_NULL,
67
    }
70
    }
68
};
71
};
69
 
72
 
70
fs_reg_t tmpfs_reg;
73
fs_reg_t tmpfs_reg;
71
 
74
 
Line 104... Line 107...
104
        ipc_callid_t callid;
107
        ipc_callid_t callid;
105
        ipc_call_t call;
108
        ipc_call_t call;
106
   
109
   
107
        callid = async_get_call(&call);
110
        callid = async_get_call(&call);
108
        switch  (IPC_GET_METHOD(call)) {
111
        switch  (IPC_GET_METHOD(call)) {
109
        case VFS_REGISTER:
-
 
110
            ipc_answer_0(callid, EOK);
-
 
111
            break;
-
 
112
        case VFS_LOOKUP:
112
        case VFS_LOOKUP:
113
            tmpfs_lookup(callid, &call);
113
            tmpfs_lookup(callid, &call);
114
            break;
114
            break;
115
        case VFS_READ:
115
        case VFS_READ:
116
            tmpfs_read(callid, &call);
116
            tmpfs_read(callid, &call);