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

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [include/] [linux/] [amigaffs.h] - Blame information for rev 81

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
#ifndef AMIGAFFS_H
2
#define AMIGAFFS_H
3
 
4
#include <linux/types.h>
5
#include <asm/byteorder.h>
6
 
7
#define FS_OFS          0x444F5300
8
#define FS_FFS          0x444F5301
9
#define FS_INTLOFS      0x444F5302
10
#define FS_INTLFFS      0x444F5303
11
#define FS_DCOFS        0x444F5304
12
#define FS_DCFFS        0x444F5305
13
#define MUFS_FS         0x6d754653   /* 'muFS' */
14
#define MUFS_OFS        0x6d754600   /* 'muF\0' */
15
#define MUFS_FFS        0x6d754601   /* 'muF\1' */
16
#define MUFS_INTLOFS    0x6d754602   /* 'muF\2' */
17
#define MUFS_INTLFFS    0x6d754603   /* 'muF\3' */
18
#define MUFS_DCOFS      0x6d754604   /* 'muF\4' */
19
#define MUFS_DCFFS      0x6d754605   /* 'muF\5' */
20
 
21
#define T_SHORT         2
22
#define T_LIST          16
23
#define T_DATA          8
24
 
25
#define ST_LINKFILE     -4
26
#define ST_FILE         -3
27
#define ST_ROOT         1
28
#define ST_USERDIR      2
29
#define ST_SOFTLINK     3
30
#define ST_LINKDIR      4
31
 
32
#define AFFS_ROOT_BMAPS         25
33
 
34
struct affs_date {
35
        __be32 days;
36
        __be32 mins;
37
        __be32 ticks;
38
};
39
 
40
struct affs_short_date {
41
        __be16 days;
42
        __be16 mins;
43
        __be16 ticks;
44
};
45
 
46
struct affs_root_head {
47
        __be32 ptype;
48
        __be32 spare1;
49
        __be32 spare2;
50
        __be32 hash_size;
51
        __be32 spare3;
52
        __be32 checksum;
53
        __be32 hashtable[1];
54
};
55
 
56
struct affs_root_tail {
57
        __be32 bm_flag;
58
        __be32 bm_blk[AFFS_ROOT_BMAPS];
59
        __be32 bm_ext;
60
        struct affs_date root_change;
61
        u8 disk_name[32];
62
        __be32 spare1;
63
        __be32 spare2;
64
        struct affs_date disk_change;
65
        struct affs_date disk_create;
66
        __be32 spare3;
67
        __be32 spare4;
68
        __be32 dcache;
69
        __be32 stype;
70
};
71
 
72
struct affs_head {
73
        __be32 ptype;
74
        __be32 key;
75
        __be32 block_count;
76
        __be32 spare1;
77
        __be32 first_data;
78
        __be32 checksum;
79
        __be32 table[1];
80
};
81
 
82
struct affs_tail {
83
        __be32 spare1;
84
        __be16 uid;
85
        __be16 gid;
86
        __be32 protect;
87
        __be32 size;
88
        u8 comment[92];
89
        struct affs_date change;
90
        u8 name[32];
91
        __be32 spare2;
92
        __be32 original;
93
        __be32 link_chain;
94
        __be32 spare[5];
95
        __be32 hash_chain;
96
        __be32 parent;
97
        __be32 extension;
98
        __be32 stype;
99
};
100
 
101
struct slink_front
102
{
103
        __be32 ptype;
104
        __be32 key;
105
        __be32 spare1[3];
106
        __be32 checksum;
107
        u8 symname[1];  /* depends on block size */
108
};
109
 
110
struct affs_data_head
111
{
112
        __be32 ptype;
113
        __be32 key;
114
        __be32 sequence;
115
        __be32 size;
116
        __be32 next;
117
        __be32 checksum;
118
        u8 data[1];     /* depends on block size */
119
};
120
 
121
/* Permission bits */
122
 
123
#define FIBF_OTR_READ           0x8000
124
#define FIBF_OTR_WRITE          0x4000
125
#define FIBF_OTR_EXECUTE        0x2000
126
#define FIBF_OTR_DELETE         0x1000
127
#define FIBF_GRP_READ           0x0800
128
#define FIBF_GRP_WRITE          0x0400
129
#define FIBF_GRP_EXECUTE        0x0200
130
#define FIBF_GRP_DELETE         0x0100
131
 
132
#define FIBF_HIDDEN             0x0080
133
#define FIBF_SCRIPT             0x0040
134
#define FIBF_PURE               0x0020          /* no use under linux */
135
#define FIBF_ARCHIVED           0x0010          /* never set, always cleared on write */
136
#define FIBF_NOREAD             0x0008          /* 0 means allowed */
137
#define FIBF_NOWRITE            0x0004          /* 0 means allowed */
138
#define FIBF_NOEXECUTE          0x0002          /* 0 means allowed, ignored under linux */
139
#define FIBF_NODELETE           0x0001          /* 0 means allowed */
140
 
141
#define FIBF_OWNER              0x000F          /* Bits pertaining to owner */
142
#define FIBF_MASK               0xEE0E          /* Bits modified by Linux */
143
 
144
#endif

powered by: WebSVN 2.1.0

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