Changeset c0cdcaf in mainline


Ignore:
Timestamp:
2007-09-17T17:31:33Z (17 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c3b25510
Parents:
b006bfb8
Message:

Turn the empty fs service into the beginning of FAT support.
Start implementing the VFS protocol for fat.c.

Location:
uspace
Files:
3 edited
2 moved

Legend:

Unmodified
Added
Removed
  • uspace/Makefile

    rb006bfb8 rc0cdcaf  
    4141        srv/console \
    4242        srv/rd \
    43         srv/fs \
     43        srv/fs/fat \
    4444        srv/vfs \
    4545        app/tetris \
  • uspace/lib/libc/include/ipc/services.h

    rb006bfb8 rc0cdcaf  
    3838#define LIBIPC_SERVICES_H_
    3939
    40 #define SERVICE_PCI             1
    41 #define SERVICE_KEYBOARD        2
    42 #define SERVICE_VIDEO           3
    43 #define SERVICE_CONSOLE         4
    44 #define SERVICE_RD              5
    45 #define SERVICE_FS              6
    46 #define SERVICE_VFS             7
     40typedef enum {
     41        SERVICE_PCI = 1,
     42        SERVICE_KEYBOARD,
     43        SERVICE_VIDEO,
     44        SERVICE_CONSOLE,
     45        SERVICE_RD,
     46        SERVICE_VFS
     47} services_t;
    4748
    4849/* Memory area to be received from NS */
  • uspace/srv/fs/fat/Makefile

    rb006bfb8 rc0cdcaf  
    3030#
    3131
    32 LIBC_PREFIX = ../../lib/libc
    33 SOFTINT_PREFIX = ../../lib/softint
     32LIBC_PREFIX = ../../../lib/libc
     33SOFTINT_PREFIX = ../../../lib/softint
    3434include $(LIBC_PREFIX)/Makefile.toolchain
    3535
     
    3939#
    4040
    41 OUTPUT = fs
     41OUTPUT = fat
    4242SOURCES = \
    43         fs.c
     43        fat.c
    4444
    4545OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
  • uspace/srv/fs/fat/fat.c

    rb006bfb8 rc0cdcaf  
    11/*
    22 * Copyright (c) 2006 Martin Decky
     3 * Copyright (c) 2007 Jakub Jermar
    34 * All rights reserved.
    45 *
     
    3233
    3334/**
    34  * @file        fs.c
    35  * @brief       File system driver for HelenOS.
     35 * @file        fat.c
     36 * @brief       FAT file system driver for HelenOS.
    3637 */
    3738
     39#include <ipc/ipc.h>
     40#include <ipc/services.h>
     41#include <errno.h>
     42#include <unistd.h>
     43#include "../../vfs/vfs.h"
     44
     45vfs_info_t fat_vfs_info = {
     46        .name = "fat",
     47        .ops = {
     48                [IPC_METHOD_TO_VFS_OP(VFS_REGISTER)] = VFS_OP_DEFINED,
     49                [IPC_METHOD_TO_VFS_OP(VFS_MOUNT)] = VFS_OP_DEFINED,
     50                [IPC_METHOD_TO_VFS_OP(VFS_UNMOUNT)] = VFS_OP_DEFINED,
     51                [IPC_METHOD_TO_VFS_OP(VFS_LOOKUP)] = VFS_OP_DEFINED,
     52                [IPC_METHOD_TO_VFS_OP(VFS_OPEN)] = VFS_OP_DEFINED,
     53                [IPC_METHOD_TO_VFS_OP(VFS_CREATE)] = VFS_OP_DEFINED,
     54                [IPC_METHOD_TO_VFS_OP(VFS_CLOSE)] = VFS_OP_DEFINED,
     55                [IPC_METHOD_TO_VFS_OP(VFS_READ)] = VFS_OP_DEFINED,
     56                [IPC_METHOD_TO_VFS_OP(VFS_WRITE)] = VFS_OP_NULL,
     57                [IPC_METHOD_TO_VFS_OP(VFS_SEEK)] = VFS_OP_DEFAULT
     58        }
     59};
    3860
    3961int main(int argc, char **argv)
    4062{
     63        ipcarg_t vfs_phone;
     64
     65        vfs_phone = ipc_connect_me_to(PHONE_NS, SERVICE_VFS, 0);
     66        while (vfs_phone != EOK) {
     67                usleep(10000);
     68                vfs_phone = ipc_connect_me_to(PHONE_NS, SERVICE_VFS, 0);
     69        }
     70       
     71        /* TODO: start making calls according to the VFS protocol */
     72
    4173        return 0;
    4274}
  • uspace/srv/vfs/vfs.h

    rb006bfb8 rc0cdcaf  
    3535
    3636#include <ipc/ipc.h>
     37#include <libadt/list.h>
    3738
    3839#define VFS_FIRST       FIRST_USER_METHOD
Note: See TracChangeset for help on using the changeset viewer.