OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [rc203soc/] [sw/] [uClinux/] [include/] [linux/] [xia_fs.h] - Blame information for rev 1782

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1633 jcastillo
#ifndef _XIA_FS_H
2
#define _XIA_FS_H
3
 
4
/*
5
 * include/linux/xia_fs.h
6
 *
7
 * Copyright (C) Q. Frank Xia, 1993.
8
 *
9
 * Based on Linus' minix_fs.h.
10
 * Copyright (C) Linus Torvalds, 1991, 1992.
11
 */
12
 
13
#define _XIAFS_SUPER_MAGIC 0x012FD16D
14
#define _XIAFS_ROOT_INO 1
15
#define _XIAFS_BAD_INO  2
16
 
17
#define _XIAFS_NAME_LEN 248
18
 
19
#define _XIAFS_INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof(struct xiafs_inode)))
20
 
21
struct xiafs_inode {            /* 64 bytes */
22
    mode_t   i_mode;
23
    nlink_t  i_nlinks;
24
    uid_t    i_uid;
25
    gid_t    i_gid;
26
    size_t   i_size;            /* 8 */
27
    time_t   i_ctime;
28
    time_t   i_atime;
29
    time_t   i_mtime;
30
    daddr_t  i_zone[8];
31
    daddr_t  i_ind_zone;
32
    daddr_t  i_dind_zone;
33
};
34
 
35
/*
36
 * linux super-block data on disk
37
 */
38
struct xiafs_super_block {
39
    u_char  s_boot_segment[512];        /*  1st sector reserved for boot */
40
    u_long  s_zone_size;                /*  0: the name says it          */
41
    u_long  s_nzones;                   /*  1: volume size, zone aligned */
42
    u_long  s_ninodes;                  /*  2: # of inodes               */
43
    u_long  s_ndatazones;               /*  3: # of data zones           */
44
    u_long  s_imap_zones;               /*  4: # of imap zones           */
45
    u_long  s_zmap_zones;               /*  5: # of zmap zones           */
46
    u_long  s_firstdatazone;            /*  6: first data zone           */
47
    u_long  s_zone_shift;               /*  7: z size = 1KB << z shift   */
48
    u_long  s_max_size;                 /*  8: max size of a single file */
49
    u_long  s_reserved0;                /*  9: reserved                  */
50
    u_long  s_reserved1;                /* 10:                           */
51
    u_long  s_reserved2;                /* 11:                           */
52
    u_long  s_reserved3;                /* 12:                           */
53
    u_long  s_firstkernzone;            /* 13: first kernel zone         */
54
    u_long  s_kernzones;                /* 14: kernel size in zones      */
55
    u_long  s_magic;                    /* 15: magic number for xiafs    */
56
};
57
 
58
struct xiafs_direct {
59
    ino_t   d_ino;
60
    u_short d_rec_len;
61
    u_char  d_name_len;
62
    char    d_name[_XIAFS_NAME_LEN+1];
63
};
64
 
65
#ifdef __KERNEL__
66
 
67
extern int xiafs_lookup(struct inode * dir,const char * name, int len,
68
                        struct inode ** result);
69
extern int xiafs_create(struct inode * dir,const char * name, int len, int mode,
70
                        struct inode ** result);
71
extern int xiafs_mkdir(struct inode * dir, const char * name, int len, int mode);
72
extern int xiafs_rmdir(struct inode * dir, const char * name, int len);
73
extern int xiafs_unlink(struct inode * dir, const char * name, int len);
74
extern int xiafs_symlink(struct inode * inode, const char * name, int len,
75
                        const char * symname);
76
extern int xiafs_link(struct inode * oldinode, struct inode * dir,
77
                        const char * name, int len);
78
extern int xiafs_mknod(struct inode * dir, const char * name, int len,
79
                        int mode, int rdev);
80
extern int xiafs_rename(struct inode * old_dir, const char * old_name,
81
                        int old_len, struct inode * new_dir,
82
                        const char * new_name, int new_len,
83
                        int must_be_dir);
84
extern struct inode * xiafs_new_inode(struct inode * dir);
85
extern void xiafs_free_inode(struct inode * inode);
86
extern unsigned long xiafs_count_free_inodes(struct super_block *sb);
87
extern int xiafs_new_zone(struct super_block * sb, u_long prev_addr);
88
extern void xiafs_free_zone(struct super_block * sb, int block);
89
extern unsigned long xiafs_count_free_zones(struct super_block *sb);
90
 
91
extern int xiafs_bmap(struct inode *,int);
92
 
93
extern struct buffer_head * xiafs_getblk(struct inode *, int, int);
94
extern struct buffer_head * xiafs_bread(struct inode *, int, int);
95
 
96
extern void xiafs_truncate(struct inode *);
97
extern void xiafs_put_super(struct super_block *);
98
extern struct super_block *xiafs_read_super(struct super_block *,void *,int);
99
extern int init_xiafs_fs(void);
100
extern void xiafs_read_inode(struct inode *);
101
extern void xiafs_write_inode(struct inode *);
102
extern void xiafs_put_inode(struct inode *);
103
extern void xiafs_statfs(struct super_block *, struct statfs *, int);
104
extern int xiafs_sync_inode(struct inode *);
105
extern int xiafs_sync_file(struct inode *, struct file *);
106
 
107
extern struct inode_operations xiafs_file_inode_operations;
108
extern struct inode_operations xiafs_dir_inode_operations;
109
extern struct inode_operations xiafs_symlink_inode_operations;
110
 
111
#endif /* __KERNEL__ */
112
 
113
#endif  /* _XIA_FS_H */
114
 
115
 
116
 
117
 
118
 
119
 
120
 
121
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.