Rearranged tag encodings, reserved suptype=0 for internal tags
This was motivated by a discussion with a gh user, in which it was noted
that not having a reserved suptype for internal tags risks potential
issues with long-term future tag compatibility.
I think the risk is low, but, without a reserved suptype, it _is_
possible for a future tag to conflict with an internal tag in an older
driver version, potentially and unintentionally breaking compatibility.
Note this is especially concerning during mdir compactions, where we
copy tags we may not understand otherwise.
In littlefs2 we reserved suptype=0x100, though this was mostly an
accident due to saturating the 3-bit suptype space. With the larger tag
space in littlefs3, the reserved suptype=0x100 was dropped.
---
Long story short, this reserves suptype=0 for internal flags (well, and
null, which is _mostly_ internal only, but does get written to disk as
unreachable tags).
Unfortunately, adding a new suptype _did_ require moving a bunch of
stuff around:
LFS3_TAG_NULL 0x0000 v--- ---- +--- ----
LFS3_TAG_INTERNAL 0x00tt v--- ---- +ttt tttt
LFS3_TAG_CONFIG 0x01tt v--- ---1 +ttt tttt
LFS3_TAG_MAGIC 0x0131 v--- ---1 +-11 --rr
LFS3_TAG_VERSION 0x0134 v--- ---1 +-11 -1--
LFS3_TAG_RCOMPAT 0x0135 v--- ---1 +-11 -1-1
LFS3_TAG_WCOMPAT 0x0136 v--- ---1 +-11 -11-
LFS3_TAG_OCOMPAT 0x0137 v--- ---1 +-11 -111
LFS3_TAG_GEOMETRY 0x0138 v--- ---1 +-11 1---
LFS3_TAG_NAMELIMIT 0x0139 v--- ---1 +-11 1--1
LFS3_TAG_FILELIMIT 0x013a v--- ---1 +-11 1-1-
LFS3_TAG_ATTRLIMIT? 0x013b v--- ---1 +-11 1-11
LFS3_TAG_GDELTA 0x02tt v--- --1- +ttt tttt
LFS3_TAG_GRMDELTA 0x0230 v--- --1- +-11 ----
LFS3_TAG_GBMAPDELTA 0x0234 v--- --1- +-11 -1rr
LFS3_TAG_GDDTREEDELTA* 0x0238 v--- --1- +-11 1-rr
LFS3_TAG_GPTREEDELTA* 0x023c v--- --1- +-11 11rr
LFS3_TAG_NAME 0x03tt v--- --11 +ttt tttt
LFS3_TAG_BNAME 0x0300 v--- --11 +--- ----
LFS3_TAG_REG 0x0301 v--- --11 +--- ---1
LFS3_TAG_DIR 0x0302 v--- --11 +--- --1-
LFS3_TAG_STICKYNOTE 0x0303 v--- --11 +--- --11
LFS3_TAG_BOOKMARK 0x0304 v--- --11 +--- -1--
LFS3_TAG_SYMLINK? 0x0305 v--- --11 +--- -1-1
LFS3_TAG_SNAPSHOT? 0x0306 v--- --11 +--- -11-
LFS3_TAG_MNAME 0x0330 v--- --11 +-11 ----
LFS3_TAG_DDNAME* 0x0350 v--- --11 +1-1 ----
LFS3_TAG_DDTOMB* 0x0351 v--- --11 +1-1 ---1
LFS3_TAG_STRUCT 0x04tt v--- -1-- +ttt tttt
LFS3_TAG_BRANCH 0x040r v--- -1-- +--- --rr
LFS3_TAG_DATA 0x0404 v--- -1-- +--- -1--
LFS3_TAG_BLOCK 0x0408 v--- -1-- +--- 1err
LFS3_TAG_DDKEY* 0x0410 v--- -1-- +--1 ----
LFS3_TAG_DID 0x0420 v--- -1-- +-1- ----
LFS3_TAG_BSHRUB 0x0428 v--- -1-- +-1- 1---
LFS3_TAG_BTREE 0x042c v--- -1-- +-1- 11rr
LFS3_TAG_MROOT 0x0431 v--- -1-- +-11 --rr
LFS3_TAG_MDIR 0x0435 v--- -1-- +-11 -1rr
LFS3_TAG_MSHRUB+ 0x0438 v--- -1-- +-11 1---
LFS3_TAG_MTREE 0x043c v--- -1-- +-11 11rr
LFS3_TAG_BMRANGE 0x044u v--- -1-- +1-- ++uu
LFS3_TAG_BMFREE 0x0440 v--- -1-- +1-- ----
LFS3_TAG_BMINUSE 0x0441 v--- -1-- +1-- ---1
LFS3_TAG_BMERASED 0x0442 v--- -1-- +1-- --1-
LFS3_TAG_BMBAD 0x0443 v--- -1-- +1-- --11
LFS3_TAG_DDRC* 0x0450 v--- -1-- +1-1 ----
LFS3_TAG_DDPCOEFF* 0x0451 v--- -1-- +1-1 ---1
LFs3_TAG_PCOEFFMAP* 0x0460 v--- -1-- +11- ----
LFS3_TAG_ATTR 0x06aa v--- -11a +aaa aaaa
LFS3_TAG_UATTR 0x06aa v--- -11- +aaa aaaa
LFS3_TAG_SATTR 0x07aa v--- -111 +aaa aaaa
LFS3_TAG_SHRUB 0x1kkk v--1 kkkk +kkk kkkk
LFS3_TAG_ALT 0x4kkk v1cd kkkk +kkk kkkk
LFS3_TAG_CKSUM 0x300p v-11 ---- ++++ +pqq
LFS3_TAG_NOTE 0x3100 v-11 ---1 ++++ ++++
LFS3_TAG_ECKSUM 0x3200 v-11 --1- ++++ ++++
LFS3_TAG_GCKSUMDELTA 0x3300 v-11 --11 ++++ ++++
* Planned
+ Reserved
? Hypothetical
Some additional notes:
- I was on the fence on keeping the 0x30 prefix on config tags now that
it is not longer needed to differentiate from null, but ultimately
decided to keep it because: 1. it's fun, 2. it decreases the chance
of false positives, 3. it keeps the redund bits readable in hexdumps,
and 4. it reserves some tags < config, which is useful since order
matters.
Instead, I pushed the 0x30 prefix to _more_ tags, mainly gstate.
As a coincidence, meta related tags (MNAME, MROOT, MRTREE) all shifted
to also have the 0x30 prefix, which is a nice bit of unexpected
consistency.
- I also considered reserving the redund bits across the config tags
similarly to what we've done in struct/gstate tags, but decided
against it as 1. it significantly reduces the config tag space
available, and 2. makes alignment with VERSION + R/W/OCOMPAT a bit
awkward.
Instead I think would should relax the redund bit alignment in other
suptypes, though in practice the intermixing of non-redund and redund
tags makes this a bit difficult.
Maybe we should consider including redund bits as a hint for things
like DATA? DDKEY? BSHRUB? etc?
- I created a bit more space for file btree struct tags, allowing for
both the future planned DDKEY, and BLOCK with optional erased-bit. We
don't currently use this, but it may be useful for the future planned
gddtree, which in-theory can track erased-state in partially written
file blocks.
Currently tracking erased-state in file blocks is difficult due to
the potential of multiple references, and inability to prevent ecksum
conflicts in raw data blocks.
- UATTR/SATTR bumped up to 0x600/0x700 to keep the 1-bit alignment,
leaving the suptype 0x500 unused. Though this may be useful if we ever
run out of struct tags (suptype=0x400), which is likely where most new
tags will go.
---
Code changes were minimal, but with a bunch of noise:
code stack ctx
before: 35912 2280 660
after: 35920 (+0.0%) 2280 (+0.0%) 660 (+0.0%)
code stack ctx
gbmap before: 38800 2296 772
gbmap after: 38812 (+0.0%) 2296 (+0.0%) 772 (+0.0%)
This commit is contained in:
@@ -756,58 +756,58 @@ enum lfs3_tag {
|
||||
LFS3_TAG_NULL = 0x0000,
|
||||
|
||||
// config tags
|
||||
LFS3_TAG_CONFIG = 0x0000,
|
||||
LFS3_TAG_MAGIC = 0x0031,
|
||||
LFS3_TAG_VERSION = 0x0034,
|
||||
LFS3_TAG_RCOMPAT = 0x0035,
|
||||
LFS3_TAG_WCOMPAT = 0x0036,
|
||||
LFS3_TAG_OCOMPAT = 0x0037,
|
||||
LFS3_TAG_GEOMETRY = 0x0038,
|
||||
LFS3_TAG_NAMELIMIT = 0x0039,
|
||||
LFS3_TAG_FILELIMIT = 0x003a,
|
||||
LFS3_TAG_CONFIG = 0x0100,
|
||||
LFS3_TAG_MAGIC = 0x0131,
|
||||
LFS3_TAG_VERSION = 0x0134,
|
||||
LFS3_TAG_RCOMPAT = 0x0135,
|
||||
LFS3_TAG_WCOMPAT = 0x0136,
|
||||
LFS3_TAG_OCOMPAT = 0x0137,
|
||||
LFS3_TAG_GEOMETRY = 0x0138,
|
||||
LFS3_TAG_NAMELIMIT = 0x0139,
|
||||
LFS3_TAG_FILELIMIT = 0x013a,
|
||||
// in-device only, to help find unknown config tags
|
||||
LFS3_tag_UNKNOWNCONFIG = 0x003b,
|
||||
LFS3_tag_UNKNOWNCONFIG = 0x013b,
|
||||
|
||||
// global-state tags
|
||||
LFS3_TAG_GDELTA = 0x0100,
|
||||
LFS3_TAG_GRMDELTA = 0x0100,
|
||||
LFS3_TAG_GBMAPDELTA = 0x0104,
|
||||
LFS3_TAG_GDELTA = 0x0200,
|
||||
LFS3_TAG_GRMDELTA = 0x0230,
|
||||
LFS3_TAG_GBMAPDELTA = 0x0234,
|
||||
|
||||
// name tags
|
||||
LFS3_TAG_NAME = 0x0200,
|
||||
LFS3_TAG_BNAME = 0x0200,
|
||||
LFS3_TAG_REG = 0x0201,
|
||||
LFS3_TAG_DIR = 0x0202,
|
||||
LFS3_TAG_STICKYNOTE = 0x0203,
|
||||
LFS3_TAG_BOOKMARK = 0x0204,
|
||||
LFS3_TAG_NAME = 0x0300,
|
||||
LFS3_TAG_BNAME = 0x0300,
|
||||
LFS3_TAG_REG = 0x0301,
|
||||
LFS3_TAG_DIR = 0x0302,
|
||||
LFS3_TAG_STICKYNOTE = 0x0303,
|
||||
LFS3_TAG_BOOKMARK = 0x0304,
|
||||
// in-device only name tags, these should never get written to disk
|
||||
LFS3_tag_ORPHAN = 0x0205,
|
||||
LFS3_tag_TRV = 0x0206,
|
||||
LFS3_tag_UNKNOWN = 0x0207,
|
||||
LFS3_tag_ORPHAN = 0x0305,
|
||||
LFS3_tag_TRV = 0x0306,
|
||||
LFS3_tag_UNKNOWN = 0x0307,
|
||||
// non-file name tags
|
||||
LFS3_TAG_MNAME = 0x0220,
|
||||
LFS3_TAG_MNAME = 0x0330,
|
||||
|
||||
// struct tags
|
||||
LFS3_TAG_STRUCT = 0x0300,
|
||||
LFS3_TAG_BRANCH = 0x0300,
|
||||
LFS3_TAG_DATA = 0x0304,
|
||||
LFS3_TAG_BLOCK = 0x0308,
|
||||
LFS3_TAG_DID = 0x0314,
|
||||
LFS3_TAG_BSHRUB = 0x0318,
|
||||
LFS3_TAG_BTREE = 0x031c,
|
||||
LFS3_TAG_MROOT = 0x0321,
|
||||
LFS3_TAG_MDIR = 0x0325,
|
||||
LFS3_TAG_MTREE = 0x032c,
|
||||
LFS3_TAG_BMRANGE = 0x0330,
|
||||
LFS3_TAG_BMFREE = 0x0330,
|
||||
LFS3_TAG_BMINUSE = 0x0331,
|
||||
LFS3_TAG_BMERASED = 0x0332,
|
||||
LFS3_TAG_BMBAD = 0x0333,
|
||||
LFS3_TAG_STRUCT = 0x0400,
|
||||
LFS3_TAG_BRANCH = 0x0400,
|
||||
LFS3_TAG_DATA = 0x0404,
|
||||
LFS3_TAG_BLOCK = 0x0408,
|
||||
LFS3_TAG_DID = 0x0420,
|
||||
LFS3_TAG_BSHRUB = 0x0428,
|
||||
LFS3_TAG_BTREE = 0x042c,
|
||||
LFS3_TAG_MROOT = 0x0431,
|
||||
LFS3_TAG_MDIR = 0x0435,
|
||||
LFS3_TAG_MTREE = 0x043c,
|
||||
LFS3_TAG_BMRANGE = 0x0440,
|
||||
LFS3_TAG_BMFREE = 0x0440,
|
||||
LFS3_TAG_BMINUSE = 0x0441,
|
||||
LFS3_TAG_BMERASED = 0x0442,
|
||||
LFS3_TAG_BMBAD = 0x0443,
|
||||
|
||||
// user/sys attributes
|
||||
LFS3_TAG_ATTR = 0x0400,
|
||||
LFS3_TAG_UATTR = 0x0400,
|
||||
LFS3_TAG_SATTR = 0x0500,
|
||||
LFS3_TAG_ATTR = 0x0600,
|
||||
LFS3_TAG_UATTR = 0x0600,
|
||||
LFS3_TAG_SATTR = 0x0700,
|
||||
|
||||
// shrub tags belong to secondary trees
|
||||
LFS3_TAG_SHRUB = 0x1000,
|
||||
@@ -828,12 +828,12 @@ enum lfs3_tag {
|
||||
LFS3_TAG_GCKSUMDELTA = 0x3300,
|
||||
|
||||
// in-device only tags, these should never get written to disk
|
||||
LFS3_tag_INTERNAL = 0x0800,
|
||||
LFS3_tag_RATTRS = 0x0800,
|
||||
LFS3_tag_SHRUBCOMMIT = 0x0801,
|
||||
LFS3_tag_GRMPUSH = 0x0802,
|
||||
LFS3_tag_MOVE = 0x0803,
|
||||
LFS3_tag_ATTRS = 0x0804,
|
||||
LFS3_tag_INTERNAL = 0x0000,
|
||||
LFS3_tag_RATTRS = 0x0001,
|
||||
LFS3_tag_SHRUBCOMMIT = 0x0002,
|
||||
LFS3_tag_GRMPUSH = 0x0003,
|
||||
LFS3_tag_MOVE = 0x0004,
|
||||
LFS3_tag_ATTRS = 0x0005,
|
||||
|
||||
// some in-device only tag modifiers
|
||||
LFS3_tag_RM = 0x8000,
|
||||
|
||||
+38
-37
@@ -113,43 +113,44 @@ WCOMPAT_GBMAP = 0x00080000 # Global on-disk block-map in use
|
||||
WCOMPAT_DIR = 0x01000000 # Directory file types in use
|
||||
|
||||
TAG_NULL = 0x0000 ## v--- ---- +--- ----
|
||||
TAG_CONFIG = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_MAGIC = 0x0031 # v--- ---- +-11 --rr
|
||||
TAG_VERSION = 0x0034 # v--- ---- +-11 -1--
|
||||
TAG_RCOMPAT = 0x0035 # v--- ---- +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0036 # v--- ---- +-11 -11-
|
||||
TAG_OCOMPAT = 0x0037 # v--- ---- +-11 -111
|
||||
TAG_GEOMETRY = 0x0038 # v--- ---- +-11 1---
|
||||
TAG_NAMELIMIT = 0x0039 # v--- ---- +-11 1--1
|
||||
TAG_FILELIMIT = 0x003a # v--- ---- +-11 1-1-
|
||||
TAG_GDELTA = 0x0100 ## v--- ---1 +ttt ttrr
|
||||
TAG_GRMDELTA = 0x0100 # v--- ---1 +--- ----
|
||||
TAG_GBMAPDELTA = 0x0104 # v--- ---1 +--- -1rr
|
||||
TAG_NAME = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_BNAME = 0x0200 # v--- --1- +--- ----
|
||||
TAG_REG = 0x0201 # v--- --1- +--- ---1
|
||||
TAG_DIR = 0x0202 # v--- --1- +--- --1-
|
||||
TAG_STICKYNOTE = 0x0203 # v--- --1- +--- --11
|
||||
TAG_BOOKMARK = 0x0204 # v--- --1- +--- -1--
|
||||
TAG_MNAME = 0x0220 # v--- --1- +-1- ----
|
||||
TAG_STRUCT = 0x0300 ## v--- --11 +ttt ttrr
|
||||
TAG_BRANCH = 0x0300 # v--- --11 +--- --rr
|
||||
TAG_DATA = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_BLOCK = 0x0308 # v--- --11 +--- 1err
|
||||
TAG_DID = 0x0314 # v--- --11 +--1 -1--
|
||||
TAG_BSHRUB = 0x0318 # v--- --11 +--1 1---
|
||||
TAG_BTREE = 0x031c # v--- --11 +--1 11rr
|
||||
TAG_MROOT = 0x0321 # v--- --11 +-1- --rr
|
||||
TAG_MDIR = 0x0325 # v--- --11 +-1- -1rr
|
||||
TAG_MTREE = 0x032c # v--- --11 +-1- 11rr
|
||||
TAG_BMRANGE = 0x0330 # v--- --11 +-11 ++uu
|
||||
TAG_BMFREE = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_BMINUSE = 0x0331 # v--- --11 +-11 ---1
|
||||
TAG_BMERASED = 0x0332 # v--- --11 +-11 --1-
|
||||
TAG_BMBAD = 0x0333 # v--- --11 +-11 --11
|
||||
TAG_ATTR = 0x0400 ## v--- -1-a +aaa aaaa
|
||||
TAG_UATTR = 0x0400 # v--- -1-- +aaa aaaa
|
||||
TAG_SATTR = 0x0500 # v--- -1-1 +aaa aaaa
|
||||
TAG_INTERNAL = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_CONFIG = 0x0100 ## v--- ---1 +ttt tttt
|
||||
TAG_MAGIC = 0x0131 # v--- ---1 +-11 --rr
|
||||
TAG_VERSION = 0x0134 # v--- ---1 +-11 -1--
|
||||
TAG_RCOMPAT = 0x0135 # v--- ---1 +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0136 # v--- ---1 +-11 -11-
|
||||
TAG_OCOMPAT = 0x0137 # v--- ---1 +-11 -111
|
||||
TAG_GEOMETRY = 0x0138 # v--- ---1 +-11 1---
|
||||
TAG_NAMELIMIT = 0x0139 # v--- ---1 +-11 1--1
|
||||
TAG_FILELIMIT = 0x013a # v--- ---1 +-11 1-1-
|
||||
TAG_GDELTA = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_GRMDELTA = 0x0230 # v--- --1- +-11 ----
|
||||
TAG_GBMAPDELTA = 0x0234 # v--- --1- +-11 -1rr
|
||||
TAG_NAME = 0x0300 ## v--- --11 +ttt tttt
|
||||
TAG_BNAME = 0x0300 # v--- --11 +--- ----
|
||||
TAG_REG = 0x0301 # v--- --11 +--- ---1
|
||||
TAG_DIR = 0x0302 # v--- --11 +--- --1-
|
||||
TAG_STICKYNOTE = 0x0303 # v--- --11 +--- --11
|
||||
TAG_BOOKMARK = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_MNAME = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_STRUCT = 0x0400 ## v--- -1-- +ttt tttt
|
||||
TAG_BRANCH = 0x0400 # v--- -1-- +--- --rr
|
||||
TAG_DATA = 0x0404 # v--- -1-- +--- -1--
|
||||
TAG_BLOCK = 0x0408 # v--- -1-- +--- 1err
|
||||
TAG_DID = 0x0420 # v--- -1-- +-1- ----
|
||||
TAG_BSHRUB = 0x0428 # v--- -1-- +-1- 1---
|
||||
TAG_BTREE = 0x042c # v--- -1-- +-1- 11rr
|
||||
TAG_MROOT = 0x0431 # v--- -1-- +-11 --rr
|
||||
TAG_MDIR = 0x0435 # v--- -1-- +-11 -1rr
|
||||
TAG_MTREE = 0x043c # v--- -1-- +-11 11rr
|
||||
TAG_BMRANGE = 0x0440 # v--- -1-- +1-- ++uu
|
||||
TAG_BMFREE = 0x0440 # v--- -1-- +1-- ----
|
||||
TAG_BMINUSE = 0x0441 # v--- -1-- +1-- ---1
|
||||
TAG_BMERASED = 0x0442 # v--- -1-- +1-- --1-
|
||||
TAG_BMBAD = 0x0443 # v--- -1-- +1-- --11
|
||||
TAG_ATTR = 0x0600 ## v--- -11a +aaa aaaa
|
||||
TAG_UATTR = 0x0600 # v--- -11- +aaa aaaa
|
||||
TAG_SATTR = 0x0700 # v--- -111 +aaa aaaa
|
||||
TAG_SHRUB = 0x1000 ## v--1 kkkk +kkk kkkk
|
||||
TAG_ALT = 0x4000 ## v1cd kkkk +kkk kkkk
|
||||
TAG_B = 0x0000
|
||||
|
||||
+38
-37
@@ -133,43 +133,44 @@ WCOMPAT_GBMAP = 0x00080000 # Global on-disk block-map in use
|
||||
WCOMPAT_DIR = 0x01000000 # Directory file types in use
|
||||
|
||||
TAG_NULL = 0x0000 ## v--- ---- +--- ----
|
||||
TAG_CONFIG = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_MAGIC = 0x0031 # v--- ---- +-11 --rr
|
||||
TAG_VERSION = 0x0034 # v--- ---- +-11 -1--
|
||||
TAG_RCOMPAT = 0x0035 # v--- ---- +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0036 # v--- ---- +-11 -11-
|
||||
TAG_OCOMPAT = 0x0037 # v--- ---- +-11 -111
|
||||
TAG_GEOMETRY = 0x0038 # v--- ---- +-11 1---
|
||||
TAG_NAMELIMIT = 0x0039 # v--- ---- +-11 1--1
|
||||
TAG_FILELIMIT = 0x003a # v--- ---- +-11 1-1-
|
||||
TAG_GDELTA = 0x0100 ## v--- ---1 +ttt ttrr
|
||||
TAG_GRMDELTA = 0x0100 # v--- ---1 +--- ----
|
||||
TAG_GBMAPDELTA = 0x0104 # v--- ---1 +--- -1rr
|
||||
TAG_NAME = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_BNAME = 0x0200 # v--- --1- +--- ----
|
||||
TAG_REG = 0x0201 # v--- --1- +--- ---1
|
||||
TAG_DIR = 0x0202 # v--- --1- +--- --1-
|
||||
TAG_STICKYNOTE = 0x0203 # v--- --1- +--- --11
|
||||
TAG_BOOKMARK = 0x0204 # v--- --1- +--- -1--
|
||||
TAG_MNAME = 0x0220 # v--- --1- +-1- ----
|
||||
TAG_STRUCT = 0x0300 ## v--- --11 +ttt ttrr
|
||||
TAG_BRANCH = 0x0300 # v--- --11 +--- --rr
|
||||
TAG_DATA = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_BLOCK = 0x0308 # v--- --11 +--- 1err
|
||||
TAG_DID = 0x0314 # v--- --11 +--1 -1--
|
||||
TAG_BSHRUB = 0x0318 # v--- --11 +--1 1---
|
||||
TAG_BTREE = 0x031c # v--- --11 +--1 11rr
|
||||
TAG_MROOT = 0x0321 # v--- --11 +-1- --rr
|
||||
TAG_MDIR = 0x0325 # v--- --11 +-1- -1rr
|
||||
TAG_MTREE = 0x032c # v--- --11 +-1- 11rr
|
||||
TAG_BMRANGE = 0x0330 # v--- --11 +-11 ++uu
|
||||
TAG_BMFREE = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_BMINUSE = 0x0331 # v--- --11 +-11 ---1
|
||||
TAG_BMERASED = 0x0332 # v--- --11 +-11 --1-
|
||||
TAG_BMBAD = 0x0333 # v--- --11 +-11 --11
|
||||
TAG_ATTR = 0x0400 ## v--- -1-a +aaa aaaa
|
||||
TAG_UATTR = 0x0400 # v--- -1-- +aaa aaaa
|
||||
TAG_SATTR = 0x0500 # v--- -1-1 +aaa aaaa
|
||||
TAG_INTERNAL = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_CONFIG = 0x0100 ## v--- ---1 +ttt tttt
|
||||
TAG_MAGIC = 0x0131 # v--- ---1 +-11 --rr
|
||||
TAG_VERSION = 0x0134 # v--- ---1 +-11 -1--
|
||||
TAG_RCOMPAT = 0x0135 # v--- ---1 +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0136 # v--- ---1 +-11 -11-
|
||||
TAG_OCOMPAT = 0x0137 # v--- ---1 +-11 -111
|
||||
TAG_GEOMETRY = 0x0138 # v--- ---1 +-11 1---
|
||||
TAG_NAMELIMIT = 0x0139 # v--- ---1 +-11 1--1
|
||||
TAG_FILELIMIT = 0x013a # v--- ---1 +-11 1-1-
|
||||
TAG_GDELTA = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_GRMDELTA = 0x0230 # v--- --1- +-11 ----
|
||||
TAG_GBMAPDELTA = 0x0234 # v--- --1- +-11 -1rr
|
||||
TAG_NAME = 0x0300 ## v--- --11 +ttt tttt
|
||||
TAG_BNAME = 0x0300 # v--- --11 +--- ----
|
||||
TAG_REG = 0x0301 # v--- --11 +--- ---1
|
||||
TAG_DIR = 0x0302 # v--- --11 +--- --1-
|
||||
TAG_STICKYNOTE = 0x0303 # v--- --11 +--- --11
|
||||
TAG_BOOKMARK = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_MNAME = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_STRUCT = 0x0400 ## v--- -1-- +ttt tttt
|
||||
TAG_BRANCH = 0x0400 # v--- -1-- +--- --rr
|
||||
TAG_DATA = 0x0404 # v--- -1-- +--- -1--
|
||||
TAG_BLOCK = 0x0408 # v--- -1-- +--- 1err
|
||||
TAG_DID = 0x0420 # v--- -1-- +-1- ----
|
||||
TAG_BSHRUB = 0x0428 # v--- -1-- +-1- 1---
|
||||
TAG_BTREE = 0x042c # v--- -1-- +-1- 11rr
|
||||
TAG_MROOT = 0x0431 # v--- -1-- +-11 --rr
|
||||
TAG_MDIR = 0x0435 # v--- -1-- +-11 -1rr
|
||||
TAG_MTREE = 0x043c # v--- -1-- +-11 11rr
|
||||
TAG_BMRANGE = 0x0440 # v--- -1-- +1-- ++uu
|
||||
TAG_BMFREE = 0x0440 # v--- -1-- +1-- ----
|
||||
TAG_BMINUSE = 0x0441 # v--- -1-- +1-- ---1
|
||||
TAG_BMERASED = 0x0442 # v--- -1-- +1-- --1-
|
||||
TAG_BMBAD = 0x0443 # v--- -1-- +1-- --11
|
||||
TAG_ATTR = 0x0600 ## v--- -11a +aaa aaaa
|
||||
TAG_UATTR = 0x0600 # v--- -11- +aaa aaaa
|
||||
TAG_SATTR = 0x0700 # v--- -111 +aaa aaaa
|
||||
TAG_SHRUB = 0x1000 ## v--1 kkkk +kkk kkkk
|
||||
TAG_ALT = 0x4000 ## v1cd kkkk +kkk kkkk
|
||||
TAG_B = 0x0000
|
||||
|
||||
+38
-37
@@ -19,43 +19,44 @@ except ModuleNotFoundError:
|
||||
|
||||
|
||||
TAG_NULL = 0x0000 ## v--- ---- +--- ----
|
||||
TAG_CONFIG = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_MAGIC = 0x0031 # v--- ---- +-11 --rr
|
||||
TAG_VERSION = 0x0034 # v--- ---- +-11 -1--
|
||||
TAG_RCOMPAT = 0x0035 # v--- ---- +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0036 # v--- ---- +-11 -11-
|
||||
TAG_OCOMPAT = 0x0037 # v--- ---- +-11 -111
|
||||
TAG_GEOMETRY = 0x0038 # v--- ---- +-11 1---
|
||||
TAG_NAMELIMIT = 0x0039 # v--- ---- +-11 1--1
|
||||
TAG_FILELIMIT = 0x003a # v--- ---- +-11 1-1-
|
||||
TAG_GDELTA = 0x0100 ## v--- ---1 +ttt ttrr
|
||||
TAG_GRMDELTA = 0x0100 # v--- ---1 +--- ----
|
||||
TAG_GBMAPDELTA = 0x0104 # v--- ---1 +--- -1rr
|
||||
TAG_NAME = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_BNAME = 0x0200 # v--- --1- +--- ----
|
||||
TAG_REG = 0x0201 # v--- --1- +--- ---1
|
||||
TAG_DIR = 0x0202 # v--- --1- +--- --1-
|
||||
TAG_STICKYNOTE = 0x0203 # v--- --1- +--- --11
|
||||
TAG_BOOKMARK = 0x0204 # v--- --1- +--- -1--
|
||||
TAG_MNAME = 0x0220 # v--- --1- +-1- ----
|
||||
TAG_STRUCT = 0x0300 ## v--- --11 +ttt ttrr
|
||||
TAG_BRANCH = 0x0300 # v--- --11 +--- --rr
|
||||
TAG_DATA = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_BLOCK = 0x0308 # v--- --11 +--- 1err
|
||||
TAG_DID = 0x0314 # v--- --11 +--1 -1--
|
||||
TAG_BSHRUB = 0x0318 # v--- --11 +--1 1---
|
||||
TAG_BTREE = 0x031c # v--- --11 +--1 11rr
|
||||
TAG_MROOT = 0x0321 # v--- --11 +-1- --rr
|
||||
TAG_MDIR = 0x0325 # v--- --11 +-1- -1rr
|
||||
TAG_MTREE = 0x032c # v--- --11 +-1- 11rr
|
||||
TAG_BMRANGE = 0x0330 # v--- --11 +-11 ++uu
|
||||
TAG_BMFREE = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_BMINUSE = 0x0331 # v--- --11 +-11 ---1
|
||||
TAG_BMERASED = 0x0332 # v--- --11 +-11 --1-
|
||||
TAG_BMBAD = 0x0333 # v--- --11 +-11 --11
|
||||
TAG_ATTR = 0x0400 ## v--- -1-a +aaa aaaa
|
||||
TAG_UATTR = 0x0400 # v--- -1-- +aaa aaaa
|
||||
TAG_SATTR = 0x0500 # v--- -1-1 +aaa aaaa
|
||||
TAG_INTERNAL = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_CONFIG = 0x0100 ## v--- ---1 +ttt tttt
|
||||
TAG_MAGIC = 0x0131 # v--- ---1 +-11 --rr
|
||||
TAG_VERSION = 0x0134 # v--- ---1 +-11 -1--
|
||||
TAG_RCOMPAT = 0x0135 # v--- ---1 +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0136 # v--- ---1 +-11 -11-
|
||||
TAG_OCOMPAT = 0x0137 # v--- ---1 +-11 -111
|
||||
TAG_GEOMETRY = 0x0138 # v--- ---1 +-11 1---
|
||||
TAG_NAMELIMIT = 0x0139 # v--- ---1 +-11 1--1
|
||||
TAG_FILELIMIT = 0x013a # v--- ---1 +-11 1-1-
|
||||
TAG_GDELTA = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_GRMDELTA = 0x0230 # v--- --1- +-11 ----
|
||||
TAG_GBMAPDELTA = 0x0234 # v--- --1- +-11 -1rr
|
||||
TAG_NAME = 0x0300 ## v--- --11 +ttt tttt
|
||||
TAG_BNAME = 0x0300 # v--- --11 +--- ----
|
||||
TAG_REG = 0x0301 # v--- --11 +--- ---1
|
||||
TAG_DIR = 0x0302 # v--- --11 +--- --1-
|
||||
TAG_STICKYNOTE = 0x0303 # v--- --11 +--- --11
|
||||
TAG_BOOKMARK = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_MNAME = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_STRUCT = 0x0400 ## v--- -1-- +ttt tttt
|
||||
TAG_BRANCH = 0x0400 # v--- -1-- +--- --rr
|
||||
TAG_DATA = 0x0404 # v--- -1-- +--- -1--
|
||||
TAG_BLOCK = 0x0408 # v--- -1-- +--- 1err
|
||||
TAG_DID = 0x0420 # v--- -1-- +-1- ----
|
||||
TAG_BSHRUB = 0x0428 # v--- -1-- +-1- 1---
|
||||
TAG_BTREE = 0x042c # v--- -1-- +-1- 11rr
|
||||
TAG_MROOT = 0x0431 # v--- -1-- +-11 --rr
|
||||
TAG_MDIR = 0x0435 # v--- -1-- +-11 -1rr
|
||||
TAG_MTREE = 0x043c # v--- -1-- +-11 11rr
|
||||
TAG_BMRANGE = 0x0440 # v--- -1-- +1-- ++uu
|
||||
TAG_BMFREE = 0x0440 # v--- -1-- +1-- ----
|
||||
TAG_BMINUSE = 0x0441 # v--- -1-- +1-- ---1
|
||||
TAG_BMERASED = 0x0442 # v--- -1-- +1-- --1-
|
||||
TAG_BMBAD = 0x0443 # v--- -1-- +1-- --11
|
||||
TAG_ATTR = 0x0600 ## v--- -11a +aaa aaaa
|
||||
TAG_UATTR = 0x0600 # v--- -11- +aaa aaaa
|
||||
TAG_SATTR = 0x0700 # v--- -111 +aaa aaaa
|
||||
TAG_SHRUB = 0x1000 ## v--1 kkkk +kkk kkkk
|
||||
TAG_ALT = 0x4000 ## v1cd kkkk +kkk kkkk
|
||||
TAG_B = 0x0000
|
||||
|
||||
+38
-37
@@ -38,43 +38,44 @@ WCOMPAT_GBMAP = 0x00080000 # Global on-disk block-map in use
|
||||
WCOMPAT_DIR = 0x01000000 # Directory file types in use
|
||||
|
||||
TAG_NULL = 0x0000 ## v--- ---- +--- ----
|
||||
TAG_CONFIG = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_MAGIC = 0x0031 # v--- ---- +-11 --rr
|
||||
TAG_VERSION = 0x0034 # v--- ---- +-11 -1--
|
||||
TAG_RCOMPAT = 0x0035 # v--- ---- +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0036 # v--- ---- +-11 -11-
|
||||
TAG_OCOMPAT = 0x0037 # v--- ---- +-11 -111
|
||||
TAG_GEOMETRY = 0x0038 # v--- ---- +-11 1---
|
||||
TAG_NAMELIMIT = 0x0039 # v--- ---- +-11 1--1
|
||||
TAG_FILELIMIT = 0x003a # v--- ---- +-11 1-1-
|
||||
TAG_GDELTA = 0x0100 ## v--- ---1 +ttt ttrr
|
||||
TAG_GRMDELTA = 0x0100 # v--- ---1 +--- ----
|
||||
TAG_GBMAPDELTA = 0x0104 # v--- ---1 +--- -1rr
|
||||
TAG_NAME = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_BNAME = 0x0200 # v--- --1- +--- ----
|
||||
TAG_REG = 0x0201 # v--- --1- +--- ---1
|
||||
TAG_DIR = 0x0202 # v--- --1- +--- --1-
|
||||
TAG_STICKYNOTE = 0x0203 # v--- --1- +--- --11
|
||||
TAG_BOOKMARK = 0x0204 # v--- --1- +--- -1--
|
||||
TAG_MNAME = 0x0220 # v--- --1- +-1- ----
|
||||
TAG_STRUCT = 0x0300 ## v--- --11 +ttt ttrr
|
||||
TAG_BRANCH = 0x0300 # v--- --11 +--- --rr
|
||||
TAG_DATA = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_BLOCK = 0x0308 # v--- --11 +--- 1err
|
||||
TAG_DID = 0x0314 # v--- --11 +--1 -1--
|
||||
TAG_BSHRUB = 0x0318 # v--- --11 +--1 1---
|
||||
TAG_BTREE = 0x031c # v--- --11 +--1 11rr
|
||||
TAG_MROOT = 0x0321 # v--- --11 +-1- --rr
|
||||
TAG_MDIR = 0x0325 # v--- --11 +-1- -1rr
|
||||
TAG_MTREE = 0x032c # v--- --11 +-1- 11rr
|
||||
TAG_BMRANGE = 0x0330 # v--- --11 +-11 ++uu
|
||||
TAG_BMFREE = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_BMINUSE = 0x0331 # v--- --11 +-11 ---1
|
||||
TAG_BMERASED = 0x0332 # v--- --11 +-11 --1-
|
||||
TAG_BMBAD = 0x0333 # v--- --11 +-11 --11
|
||||
TAG_ATTR = 0x0400 ## v--- -1-a +aaa aaaa
|
||||
TAG_UATTR = 0x0400 # v--- -1-- +aaa aaaa
|
||||
TAG_SATTR = 0x0500 # v--- -1-1 +aaa aaaa
|
||||
TAG_INTERNAL = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_CONFIG = 0x0100 ## v--- ---1 +ttt tttt
|
||||
TAG_MAGIC = 0x0131 # v--- ---1 +-11 --rr
|
||||
TAG_VERSION = 0x0134 # v--- ---1 +-11 -1--
|
||||
TAG_RCOMPAT = 0x0135 # v--- ---1 +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0136 # v--- ---1 +-11 -11-
|
||||
TAG_OCOMPAT = 0x0137 # v--- ---1 +-11 -111
|
||||
TAG_GEOMETRY = 0x0138 # v--- ---1 +-11 1---
|
||||
TAG_NAMELIMIT = 0x0139 # v--- ---1 +-11 1--1
|
||||
TAG_FILELIMIT = 0x013a # v--- ---1 +-11 1-1-
|
||||
TAG_GDELTA = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_GRMDELTA = 0x0230 # v--- --1- +-11 ----
|
||||
TAG_GBMAPDELTA = 0x0234 # v--- --1- +-11 -1rr
|
||||
TAG_NAME = 0x0300 ## v--- --11 +ttt tttt
|
||||
TAG_BNAME = 0x0300 # v--- --11 +--- ----
|
||||
TAG_REG = 0x0301 # v--- --11 +--- ---1
|
||||
TAG_DIR = 0x0302 # v--- --11 +--- --1-
|
||||
TAG_STICKYNOTE = 0x0303 # v--- --11 +--- --11
|
||||
TAG_BOOKMARK = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_MNAME = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_STRUCT = 0x0400 ## v--- -1-- +ttt tttt
|
||||
TAG_BRANCH = 0x0400 # v--- -1-- +--- --rr
|
||||
TAG_DATA = 0x0404 # v--- -1-- +--- -1--
|
||||
TAG_BLOCK = 0x0408 # v--- -1-- +--- 1err
|
||||
TAG_DID = 0x0420 # v--- -1-- +-1- ----
|
||||
TAG_BSHRUB = 0x0428 # v--- -1-- +-1- 1---
|
||||
TAG_BTREE = 0x042c # v--- -1-- +-1- 11rr
|
||||
TAG_MROOT = 0x0431 # v--- -1-- +-11 --rr
|
||||
TAG_MDIR = 0x0435 # v--- -1-- +-11 -1rr
|
||||
TAG_MTREE = 0x043c # v--- -1-- +-11 11rr
|
||||
TAG_BMRANGE = 0x0440 # v--- -1-- +1-- ++uu
|
||||
TAG_BMFREE = 0x0440 # v--- -1-- +1-- ----
|
||||
TAG_BMINUSE = 0x0441 # v--- -1-- +1-- ---1
|
||||
TAG_BMERASED = 0x0442 # v--- -1-- +1-- --1-
|
||||
TAG_BMBAD = 0x0443 # v--- -1-- +1-- --11
|
||||
TAG_ATTR = 0x0600 ## v--- -11a +aaa aaaa
|
||||
TAG_UATTR = 0x0600 # v--- -11- +aaa aaaa
|
||||
TAG_SATTR = 0x0700 # v--- -111 +aaa aaaa
|
||||
TAG_SHRUB = 0x1000 ## v--1 kkkk +kkk kkkk
|
||||
TAG_ALT = 0x4000 ## v1cd kkkk +kkk kkkk
|
||||
TAG_B = 0x0000
|
||||
|
||||
+38
-37
@@ -19,43 +19,44 @@ except ModuleNotFoundError:
|
||||
|
||||
|
||||
TAG_NULL = 0x0000 ## v--- ---- +--- ----
|
||||
TAG_CONFIG = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_MAGIC = 0x0031 # v--- ---- +-11 --rr
|
||||
TAG_VERSION = 0x0034 # v--- ---- +-11 -1--
|
||||
TAG_RCOMPAT = 0x0035 # v--- ---- +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0036 # v--- ---- +-11 -11-
|
||||
TAG_OCOMPAT = 0x0037 # v--- ---- +-11 -111
|
||||
TAG_GEOMETRY = 0x0038 # v--- ---- +-11 1---
|
||||
TAG_NAMELIMIT = 0x0039 # v--- ---- +-11 1--1
|
||||
TAG_FILELIMIT = 0x003a # v--- ---- +-11 1-1-
|
||||
TAG_GDELTA = 0x0100 ## v--- ---1 +ttt ttrr
|
||||
TAG_GRMDELTA = 0x0100 # v--- ---1 +--- ----
|
||||
TAG_GBMAPDELTA = 0x0104 # v--- ---1 +--- -1rr
|
||||
TAG_NAME = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_BNAME = 0x0200 # v--- --1- +--- ----
|
||||
TAG_REG = 0x0201 # v--- --1- +--- ---1
|
||||
TAG_DIR = 0x0202 # v--- --1- +--- --1-
|
||||
TAG_STICKYNOTE = 0x0203 # v--- --1- +--- --11
|
||||
TAG_BOOKMARK = 0x0204 # v--- --1- +--- -1--
|
||||
TAG_MNAME = 0x0220 # v--- --1- +-1- ----
|
||||
TAG_STRUCT = 0x0300 ## v--- --11 +ttt ttrr
|
||||
TAG_BRANCH = 0x0300 # v--- --11 +--- --rr
|
||||
TAG_DATA = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_BLOCK = 0x0308 # v--- --11 +--- 1err
|
||||
TAG_DID = 0x0314 # v--- --11 +--1 -1--
|
||||
TAG_BSHRUB = 0x0318 # v--- --11 +--1 1---
|
||||
TAG_BTREE = 0x031c # v--- --11 +--1 11rr
|
||||
TAG_MROOT = 0x0321 # v--- --11 +-1- --rr
|
||||
TAG_MDIR = 0x0325 # v--- --11 +-1- -1rr
|
||||
TAG_MTREE = 0x032c # v--- --11 +-1- 11rr
|
||||
TAG_BMRANGE = 0x0330 # v--- --11 +-11 ++uu
|
||||
TAG_BMFREE = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_BMINUSE = 0x0331 # v--- --11 +-11 ---1
|
||||
TAG_BMERASED = 0x0332 # v--- --11 +-11 --1-
|
||||
TAG_BMBAD = 0x0333 # v--- --11 +-11 --11
|
||||
TAG_ATTR = 0x0400 ## v--- -1-a +aaa aaaa
|
||||
TAG_UATTR = 0x0400 # v--- -1-- +aaa aaaa
|
||||
TAG_SATTR = 0x0500 # v--- -1-1 +aaa aaaa
|
||||
TAG_INTERNAL = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_CONFIG = 0x0100 ## v--- ---1 +ttt tttt
|
||||
TAG_MAGIC = 0x0131 # v--- ---1 +-11 --rr
|
||||
TAG_VERSION = 0x0134 # v--- ---1 +-11 -1--
|
||||
TAG_RCOMPAT = 0x0135 # v--- ---1 +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0136 # v--- ---1 +-11 -11-
|
||||
TAG_OCOMPAT = 0x0137 # v--- ---1 +-11 -111
|
||||
TAG_GEOMETRY = 0x0138 # v--- ---1 +-11 1---
|
||||
TAG_NAMELIMIT = 0x0139 # v--- ---1 +-11 1--1
|
||||
TAG_FILELIMIT = 0x013a # v--- ---1 +-11 1-1-
|
||||
TAG_GDELTA = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_GRMDELTA = 0x0230 # v--- --1- +-11 ----
|
||||
TAG_GBMAPDELTA = 0x0234 # v--- --1- +-11 -1rr
|
||||
TAG_NAME = 0x0300 ## v--- --11 +ttt tttt
|
||||
TAG_BNAME = 0x0300 # v--- --11 +--- ----
|
||||
TAG_REG = 0x0301 # v--- --11 +--- ---1
|
||||
TAG_DIR = 0x0302 # v--- --11 +--- --1-
|
||||
TAG_STICKYNOTE = 0x0303 # v--- --11 +--- --11
|
||||
TAG_BOOKMARK = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_MNAME = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_STRUCT = 0x0400 ## v--- -1-- +ttt tttt
|
||||
TAG_BRANCH = 0x0400 # v--- -1-- +--- --rr
|
||||
TAG_DATA = 0x0404 # v--- -1-- +--- -1--
|
||||
TAG_BLOCK = 0x0408 # v--- -1-- +--- 1err
|
||||
TAG_DID = 0x0420 # v--- -1-- +-1- ----
|
||||
TAG_BSHRUB = 0x0428 # v--- -1-- +-1- 1---
|
||||
TAG_BTREE = 0x042c # v--- -1-- +-1- 11rr
|
||||
TAG_MROOT = 0x0431 # v--- -1-- +-11 --rr
|
||||
TAG_MDIR = 0x0435 # v--- -1-- +-11 -1rr
|
||||
TAG_MTREE = 0x043c # v--- -1-- +-11 11rr
|
||||
TAG_BMRANGE = 0x0440 # v--- -1-- +1-- ++uu
|
||||
TAG_BMFREE = 0x0440 # v--- -1-- +1-- ----
|
||||
TAG_BMINUSE = 0x0441 # v--- -1-- +1-- ---1
|
||||
TAG_BMERASED = 0x0442 # v--- -1-- +1-- --1-
|
||||
TAG_BMBAD = 0x0443 # v--- -1-- +1-- --11
|
||||
TAG_ATTR = 0x0600 ## v--- -11a +aaa aaaa
|
||||
TAG_UATTR = 0x0600 # v--- -11- +aaa aaaa
|
||||
TAG_SATTR = 0x0700 # v--- -111 +aaa aaaa
|
||||
TAG_SHRUB = 0x1000 ## v--1 kkkk +kkk kkkk
|
||||
TAG_ALT = 0x4000 ## v1cd kkkk +kkk kkkk
|
||||
TAG_B = 0x0000
|
||||
|
||||
+38
-37
@@ -29,43 +29,44 @@ COLORS = [
|
||||
|
||||
|
||||
TAG_NULL = 0x0000 ## v--- ---- +--- ----
|
||||
TAG_CONFIG = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_MAGIC = 0x0031 # v--- ---- +-11 --rr
|
||||
TAG_VERSION = 0x0034 # v--- ---- +-11 -1--
|
||||
TAG_RCOMPAT = 0x0035 # v--- ---- +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0036 # v--- ---- +-11 -11-
|
||||
TAG_OCOMPAT = 0x0037 # v--- ---- +-11 -111
|
||||
TAG_GEOMETRY = 0x0038 # v--- ---- +-11 1---
|
||||
TAG_NAMELIMIT = 0x0039 # v--- ---- +-11 1--1
|
||||
TAG_FILELIMIT = 0x003a # v--- ---- +-11 1-1-
|
||||
TAG_GDELTA = 0x0100 ## v--- ---1 +ttt ttrr
|
||||
TAG_GRMDELTA = 0x0100 # v--- ---1 +--- ----
|
||||
TAG_GBMAPDELTA = 0x0104 # v--- ---1 +--- -1rr
|
||||
TAG_NAME = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_BNAME = 0x0200 # v--- --1- +--- ----
|
||||
TAG_REG = 0x0201 # v--- --1- +--- ---1
|
||||
TAG_DIR = 0x0202 # v--- --1- +--- --1-
|
||||
TAG_STICKYNOTE = 0x0203 # v--- --1- +--- --11
|
||||
TAG_BOOKMARK = 0x0204 # v--- --1- +--- -1--
|
||||
TAG_MNAME = 0x0220 # v--- --1- +-1- ----
|
||||
TAG_STRUCT = 0x0300 ## v--- --11 +ttt ttrr
|
||||
TAG_BRANCH = 0x0300 # v--- --11 +--- --rr
|
||||
TAG_DATA = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_BLOCK = 0x0308 # v--- --11 +--- 1err
|
||||
TAG_DID = 0x0314 # v--- --11 +--1 -1--
|
||||
TAG_BSHRUB = 0x0318 # v--- --11 +--1 1---
|
||||
TAG_BTREE = 0x031c # v--- --11 +--1 11rr
|
||||
TAG_MROOT = 0x0321 # v--- --11 +-1- --rr
|
||||
TAG_MDIR = 0x0325 # v--- --11 +-1- -1rr
|
||||
TAG_MTREE = 0x032c # v--- --11 +-1- 11rr
|
||||
TAG_BMRANGE = 0x0330 # v--- --11 +-11 ++uu
|
||||
TAG_BMFREE = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_BMINUSE = 0x0331 # v--- --11 +-11 ---1
|
||||
TAG_BMERASED = 0x0332 # v--- --11 +-11 --1-
|
||||
TAG_BMBAD = 0x0333 # v--- --11 +-11 --11
|
||||
TAG_ATTR = 0x0400 ## v--- -1-a +aaa aaaa
|
||||
TAG_UATTR = 0x0400 # v--- -1-- +aaa aaaa
|
||||
TAG_SATTR = 0x0500 # v--- -1-1 +aaa aaaa
|
||||
TAG_INTERNAL = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_CONFIG = 0x0100 ## v--- ---1 +ttt tttt
|
||||
TAG_MAGIC = 0x0131 # v--- ---1 +-11 --rr
|
||||
TAG_VERSION = 0x0134 # v--- ---1 +-11 -1--
|
||||
TAG_RCOMPAT = 0x0135 # v--- ---1 +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0136 # v--- ---1 +-11 -11-
|
||||
TAG_OCOMPAT = 0x0137 # v--- ---1 +-11 -111
|
||||
TAG_GEOMETRY = 0x0138 # v--- ---1 +-11 1---
|
||||
TAG_NAMELIMIT = 0x0139 # v--- ---1 +-11 1--1
|
||||
TAG_FILELIMIT = 0x013a # v--- ---1 +-11 1-1-
|
||||
TAG_GDELTA = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_GRMDELTA = 0x0230 # v--- --1- +-11 ----
|
||||
TAG_GBMAPDELTA = 0x0234 # v--- --1- +-11 -1rr
|
||||
TAG_NAME = 0x0300 ## v--- --11 +ttt tttt
|
||||
TAG_BNAME = 0x0300 # v--- --11 +--- ----
|
||||
TAG_REG = 0x0301 # v--- --11 +--- ---1
|
||||
TAG_DIR = 0x0302 # v--- --11 +--- --1-
|
||||
TAG_STICKYNOTE = 0x0303 # v--- --11 +--- --11
|
||||
TAG_BOOKMARK = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_MNAME = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_STRUCT = 0x0400 ## v--- -1-- +ttt tttt
|
||||
TAG_BRANCH = 0x0400 # v--- -1-- +--- --rr
|
||||
TAG_DATA = 0x0404 # v--- -1-- +--- -1--
|
||||
TAG_BLOCK = 0x0408 # v--- -1-- +--- 1err
|
||||
TAG_DID = 0x0420 # v--- -1-- +-1- ----
|
||||
TAG_BSHRUB = 0x0428 # v--- -1-- +-1- 1---
|
||||
TAG_BTREE = 0x042c # v--- -1-- +-1- 11rr
|
||||
TAG_MROOT = 0x0431 # v--- -1-- +-11 --rr
|
||||
TAG_MDIR = 0x0435 # v--- -1-- +-11 -1rr
|
||||
TAG_MTREE = 0x043c # v--- -1-- +-11 11rr
|
||||
TAG_BMRANGE = 0x0440 # v--- -1-- +1-- ++uu
|
||||
TAG_BMFREE = 0x0440 # v--- -1-- +1-- ----
|
||||
TAG_BMINUSE = 0x0441 # v--- -1-- +1-- ---1
|
||||
TAG_BMERASED = 0x0442 # v--- -1-- +1-- --1-
|
||||
TAG_BMBAD = 0x0443 # v--- -1-- +1-- --11
|
||||
TAG_ATTR = 0x0600 ## v--- -11a +aaa aaaa
|
||||
TAG_UATTR = 0x0600 # v--- -11- +aaa aaaa
|
||||
TAG_SATTR = 0x0700 # v--- -111 +aaa aaaa
|
||||
TAG_SHRUB = 0x1000 ## v--1 kkkk +kkk kkkk
|
||||
TAG_ALT = 0x4000 ## v1cd kkkk +kkk kkkk
|
||||
TAG_B = 0x0000
|
||||
|
||||
+38
-37
@@ -13,43 +13,44 @@ import sys
|
||||
|
||||
|
||||
TAG_NULL = 0x0000 ## v--- ---- +--- ----
|
||||
TAG_CONFIG = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_MAGIC = 0x0031 # v--- ---- +-11 --rr
|
||||
TAG_VERSION = 0x0034 # v--- ---- +-11 -1--
|
||||
TAG_RCOMPAT = 0x0035 # v--- ---- +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0036 # v--- ---- +-11 -11-
|
||||
TAG_OCOMPAT = 0x0037 # v--- ---- +-11 -111
|
||||
TAG_GEOMETRY = 0x0038 # v--- ---- +-11 1---
|
||||
TAG_NAMELIMIT = 0x0039 # v--- ---- +-11 1--1
|
||||
TAG_FILELIMIT = 0x003a # v--- ---- +-11 1-1-
|
||||
TAG_GDELTA = 0x0100 ## v--- ---1 +ttt ttrr
|
||||
TAG_GRMDELTA = 0x0100 # v--- ---1 +--- ----
|
||||
TAG_GBMAPDELTA = 0x0104 # v--- ---1 +--- -1rr
|
||||
TAG_NAME = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_BNAME = 0x0200 # v--- --1- +--- ----
|
||||
TAG_REG = 0x0201 # v--- --1- +--- ---1
|
||||
TAG_DIR = 0x0202 # v--- --1- +--- --1-
|
||||
TAG_STICKYNOTE = 0x0203 # v--- --1- +--- --11
|
||||
TAG_BOOKMARK = 0x0204 # v--- --1- +--- -1--
|
||||
TAG_MNAME = 0x0220 # v--- --1- +-1- ----
|
||||
TAG_STRUCT = 0x0300 ## v--- --11 +ttt ttrr
|
||||
TAG_BRANCH = 0x0300 # v--- --11 +--- --rr
|
||||
TAG_DATA = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_BLOCK = 0x0308 # v--- --11 +--- 1err
|
||||
TAG_DID = 0x0314 # v--- --11 +--1 -1--
|
||||
TAG_BSHRUB = 0x0318 # v--- --11 +--1 1---
|
||||
TAG_BTREE = 0x031c # v--- --11 +--1 11rr
|
||||
TAG_MROOT = 0x0321 # v--- --11 +-1- --rr
|
||||
TAG_MDIR = 0x0325 # v--- --11 +-1- -1rr
|
||||
TAG_MTREE = 0x032c # v--- --11 +-1- 11rr
|
||||
TAG_BMRANGE = 0x0330 # v--- --11 +-11 ++uu
|
||||
TAG_BMFREE = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_BMINUSE = 0x0331 # v--- --11 +-11 ---1
|
||||
TAG_BMERASED = 0x0332 # v--- --11 +-11 --1-
|
||||
TAG_BMBAD = 0x0333 # v--- --11 +-11 --11
|
||||
TAG_ATTR = 0x0400 ## v--- -1-a +aaa aaaa
|
||||
TAG_UATTR = 0x0400 # v--- -1-- +aaa aaaa
|
||||
TAG_SATTR = 0x0500 # v--- -1-1 +aaa aaaa
|
||||
TAG_INTERNAL = 0x0000 ## v--- ---- +ttt tttt
|
||||
TAG_CONFIG = 0x0100 ## v--- ---1 +ttt tttt
|
||||
TAG_MAGIC = 0x0131 # v--- ---1 +-11 --rr
|
||||
TAG_VERSION = 0x0134 # v--- ---1 +-11 -1--
|
||||
TAG_RCOMPAT = 0x0135 # v--- ---1 +-11 -1-1
|
||||
TAG_WCOMPAT = 0x0136 # v--- ---1 +-11 -11-
|
||||
TAG_OCOMPAT = 0x0137 # v--- ---1 +-11 -111
|
||||
TAG_GEOMETRY = 0x0138 # v--- ---1 +-11 1---
|
||||
TAG_NAMELIMIT = 0x0139 # v--- ---1 +-11 1--1
|
||||
TAG_FILELIMIT = 0x013a # v--- ---1 +-11 1-1-
|
||||
TAG_GDELTA = 0x0200 ## v--- --1- +ttt tttt
|
||||
TAG_GRMDELTA = 0x0230 # v--- --1- +-11 ----
|
||||
TAG_GBMAPDELTA = 0x0234 # v--- --1- +-11 -1rr
|
||||
TAG_NAME = 0x0300 ## v--- --11 +ttt tttt
|
||||
TAG_BNAME = 0x0300 # v--- --11 +--- ----
|
||||
TAG_REG = 0x0301 # v--- --11 +--- ---1
|
||||
TAG_DIR = 0x0302 # v--- --11 +--- --1-
|
||||
TAG_STICKYNOTE = 0x0303 # v--- --11 +--- --11
|
||||
TAG_BOOKMARK = 0x0304 # v--- --11 +--- -1--
|
||||
TAG_MNAME = 0x0330 # v--- --11 +-11 ----
|
||||
TAG_STRUCT = 0x0400 ## v--- -1-- +ttt tttt
|
||||
TAG_BRANCH = 0x0400 # v--- -1-- +--- --rr
|
||||
TAG_DATA = 0x0404 # v--- -1-- +--- -1--
|
||||
TAG_BLOCK = 0x0408 # v--- -1-- +--- 1err
|
||||
TAG_DID = 0x0420 # v--- -1-- +-1- ----
|
||||
TAG_BSHRUB = 0x0428 # v--- -1-- +-1- 1---
|
||||
TAG_BTREE = 0x042c # v--- -1-- +-1- 11rr
|
||||
TAG_MROOT = 0x0431 # v--- -1-- +-11 --rr
|
||||
TAG_MDIR = 0x0435 # v--- -1-- +-11 -1rr
|
||||
TAG_MTREE = 0x043c # v--- -1-- +-11 11rr
|
||||
TAG_BMRANGE = 0x0440 # v--- -1-- +1-- ++uu
|
||||
TAG_BMFREE = 0x0440 # v--- -1-- +1-- ----
|
||||
TAG_BMINUSE = 0x0441 # v--- -1-- +1-- ---1
|
||||
TAG_BMERASED = 0x0442 # v--- -1-- +1-- --1-
|
||||
TAG_BMBAD = 0x0443 # v--- -1-- +1-- --11
|
||||
TAG_ATTR = 0x0600 ## v--- -11a +aaa aaaa
|
||||
TAG_UATTR = 0x0600 # v--- -11- +aaa aaaa
|
||||
TAG_SATTR = 0x0700 # v--- -111 +aaa aaaa
|
||||
TAG_SHRUB = 0x1000 ## v--1 kkkk +kkk kkkk
|
||||
TAG_ALT = 0x4000 ## v1cd kkkk +kkk kkkk
|
||||
TAG_B = 0x0000
|
||||
|
||||
Reference in New Issue
Block a user