Subversion Repositories HelenOS

Rev

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

Rev 3675 Rev 4377
Line 47... Line 47...
47
#include "../../vfs/vfs.h"
47
#include "../../vfs/vfs.h"
48
 
48
 
49
 
49
 
50
vfs_info_t fat_vfs_info = {
50
vfs_info_t fat_vfs_info = {
51
    .name = "fat",
51
    .name = "fat",
52
    .ops = {
-
 
53
        [IPC_METHOD_TO_VFS_OP(VFS_LOOKUP)] = VFS_OP_DEFINED,
-
 
54
        [IPC_METHOD_TO_VFS_OP(VFS_READ)] = VFS_OP_DEFINED,
-
 
55
        [IPC_METHOD_TO_VFS_OP(VFS_WRITE)] = VFS_OP_NULL,
-
 
56
        [IPC_METHOD_TO_VFS_OP(VFS_TRUNCATE)] = VFS_OP_NULL,
-
 
57
        [IPC_METHOD_TO_VFS_OP(VFS_MOUNT)] = VFS_OP_NULL,
-
 
58
        [IPC_METHOD_TO_VFS_OP(VFS_MOUNTED)] = VFS_OP_DEFINED,
-
 
59
        [IPC_METHOD_TO_VFS_OP(VFS_UNMOUNT)] = VFS_OP_NULL,
-
 
60
    }
-
 
61
};
52
};
62
 
53
 
63
fs_reg_t fat_reg;
54
fs_reg_t fat_reg;
64
 
55
 
65
/**
56
/**
Line 129... Line 120...
129
int main(int argc, char **argv)
120
int main(int argc, char **argv)
130
{
121
{
131
    int vfs_phone;
122
    int vfs_phone;
132
    int rc;
123
    int rc;
133
 
124
 
134
    printf("FAT: HelenOS FAT file system server.\n");
125
    printf("fat: HelenOS FAT file system server.\n");
135
 
126
 
136
    rc = fat_idx_init();
127
    rc = fat_idx_init();
137
    if (rc != EOK)
128
    if (rc != EOK)
138
        goto err;
129
        goto err;
139
 
130
 
140
    vfs_phone = ipc_connect_me_to(PHONE_NS, SERVICE_VFS, 0, 0);
131
    vfs_phone = ipc_connect_me_to_blocking(PHONE_NS, SERVICE_VFS, 0, 0);
141
    while (vfs_phone < EOK) {
132
    if (vfs_phone < EOK) {
-
 
133
        printf("fat: failed to connect to VFS\n");
142
        usleep(10000);
134
        return -1;
143
        vfs_phone = ipc_connect_me_to(PHONE_NS, SERVICE_VFS, 0, 0);
-
 
144
    }
135
    }
145
   
136
   
146
    rc = fs_register(vfs_phone, &fat_reg, &fat_vfs_info, fat_connection);
137
    rc = fs_register(vfs_phone, &fat_reg, &fat_vfs_info, fat_connection);
147
    if (rc != EOK) {
138
    if (rc != EOK) {
148
        fat_idx_fini();
139
        fat_idx_fini();