Changeset b3f598e in mainline for uspace/srv/vfs/vfs.c


Ignore:
Timestamp:
2007-09-13T20:19:40Z (17 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
183b4a0
Parents:
c952465d
Message:

VFS work.
Start implementing the VFS_REGISTER request.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/vfs/vfs.c

    rc952465d rb3f598e  
    4242#include "vfs.h"
    4343
     44static void vfs_register(ipc_callid_t iid, ipc_call_t *icall)
     45{
     46        ipc_callid_t callid;
     47        ipc_call_t call;
     48
     49        callid = async_get_call(&call);
     50        if (IPC_GET_METHOD(call) == IPC_M_DATA_SEND) {
     51                size_t size = IPC_GET_ARG3(call);
     52                if (size != sizeof(vfs_info_t)) {
     53                        /*
     54                         * The client is sending us something, which cannot be
     55                         * the info structure.
     56                         */
     57                        ipc_answer_fast(iid, EINVAL, 0, 0);
     58                        ipc_answer_fast(callid, EINVAL, 0, 0);
     59                        return;
     60                }
     61                /*
     62                 * XXX: continue here
     63                 * Allocate an info structue, answer the call, check sanity
     64                 * of the copied-in info structure, ...
     65                 */
     66        } else {
     67                /*
     68                 * The client doesn't obey the same protocol as we do.
     69                 */
     70                ipc_answer_fast(iid, EINVAL, 0, 0);
     71                ipc_answer_fast(callid, EINVAL, 0, 0);
     72                return;
     73        }
     74}
     75
    4476static void vfs_connection(ipc_callid_t iid, ipc_call_t *icall)
    4577{
     
    6597        switch (iarg1) {
    6698        case VFS_REGISTER:
     99                vfs_register(iid, icall);
     100                break;
    67101        case VFS_MOUNT:
    68102        case VFS_UNMOUNT:
Note: See TracChangeset for help on using the changeset viewer.