summaryrefslogtreecommitdiff
path: root/fs/mount.h
blob: 0a330a60261cb67b8297f52860cc4efbe1fa7c3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef MOUNT_H
#define MOUNT_H

#define MOUNT_MAX_MOUNTS 10

#include <stdint.h>
#include "file.h"
#include "fs.h"

typedef struct mount_struct
{
    char path[256];   // where are we mounted
    int  (*getdents) (struct mount_struct*, uint32_t file_desciptor, fs_dirent *entries, uint32_t max_count);
    file (*open)     (struct mount_struct*,char *path);
    void *data //opaque

}mount;

mount *mounts_get();
void mount_add(char *path, void *data,file (*open)(struct mount_struct*,char *path),int (*getdents)(struct mount_struct*, uint32_t file_desciptor, fs_dirent *entries, uint32_t max_count));

//
#endif