summaryrefslogtreecommitdiffstats
path: root/sw/z80/kernel/include/fs/dev.h
blob: 8e550f33b7dfd8989a8b21e042ac87d43119b87d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef DEV_H
#define DEV_H

#include "types.h"

#define FS_MOUNT_LIMIT 16

struct fs_superblock
{
    uint8_t     magic;           // identifier

    size_t      blk_size;           // size of a single block
    size_t      imap_size;          // quantity of inodes
    size_t      dmap_size;          // quantity of blocks
};

struct fs_dev
{
    uint                    enabled :1;     // in use
    uint                    port_no :3;     // serial port number
    uint                            :4; 
    inode_t                 inode;          // dir mounted
    struct fs_superblock    superblock;     // block informations
};

/* list of devices */ 
extern struct fs_dev devices[FS_MOUNT_LIMIT];

#endif