Tweaked tag encoding a bit post-slice to make space for becksum tags

This commit is contained in:
Christopher Haster
2023-10-24 22:34:21 -05:00
parent 35434f8b54
commit 1fc2f672a2
5 changed files with 38 additions and 34 deletions

16
lfs.c
View File

@@ -583,7 +583,7 @@ enum lfsr_tag_type {
// the null tag is reserved // the null tag is reserved
LFSR_TAG_NULL = 0x0000, LFSR_TAG_NULL = 0x0000,
// "normal" tags // config tags
LFSR_TAG_CONFIG = 0x0000, LFSR_TAG_CONFIG = 0x0000,
LFSR_TAG_MAGIC = 0x0003, LFSR_TAG_MAGIC = 0x0003,
LFSR_TAG_VERSION = 0x0004, LFSR_TAG_VERSION = 0x0004,
@@ -598,26 +598,30 @@ enum lfsr_tag_type {
LFSR_TAG_UTAGLIMIT = 0x000d, LFSR_TAG_UTAGLIMIT = 0x000d,
LFSR_TAG_UATTRLIMIT = 0x000e, LFSR_TAG_UATTRLIMIT = 0x000e,
// global-state tags
LFSR_TAG_GSTATE = 0x0100, LFSR_TAG_GSTATE = 0x0100,
LFSR_TAG_GRM = 0x0100, LFSR_TAG_GRM = 0x0100,
// name tags
LFSR_TAG_NAME = 0x0200, LFSR_TAG_NAME = 0x0200,
LFSR_TAG_BNAME = 0x0200, LFSR_TAG_BNAME = 0x0200,
LFSR_TAG_BOOKMARK = 0x0201, LFSR_TAG_BOOKMARK = 0x0201,
LFSR_TAG_REG = 0x0202, LFSR_TAG_REG = 0x0202,
LFSR_TAG_DIR = 0x0203, LFSR_TAG_DIR = 0x0203,
// struct tags
LFSR_TAG_STRUCT = 0x0300, LFSR_TAG_STRUCT = 0x0300,
LFSR_TAG_DATA = 0x0300, LFSR_TAG_DATA = 0x0300,
LFSR_TAG_TRUNK = 0x0308, LFSR_TAG_TRUNK = 0x0304,
LFSR_TAG_DID = 0x030c, LFSR_TAG_BLOCK = 0x0308,
LFSR_TAG_BLOCK = 0x0310, LFSR_TAG_BTREE = 0x030c,
LFSR_TAG_BTREE = 0x0314, LFSR_TAG_BRANCH = 0x031c,
LFSR_TAG_MDIR = 0x0321, LFSR_TAG_MDIR = 0x0321,
LFSR_TAG_MTREE = 0x0324, LFSR_TAG_MTREE = 0x0324,
LFSR_TAG_MROOT = 0x0329, LFSR_TAG_MROOT = 0x0329,
LFSR_TAG_BRANCH = 0x032c, LFSR_TAG_DID = 0x032c,
// user/sys attributes
LFSR_TAG_UATTR = 0x0400, LFSR_TAG_UATTR = 0x0400,
LFSR_TAG_SATTR = 0x0600, LFSR_TAG_SATTR = 0x0600,

View File

@@ -31,14 +31,14 @@ TAG_REG = 0x0202
TAG_DIR = 0x0203 TAG_DIR = 0x0203
TAG_STRUCT = 0x0300 TAG_STRUCT = 0x0300
TAG_DATA = 0x0300 TAG_DATA = 0x0300
TAG_TRUNK = 0x0308 TAG_TRUNK = 0x0304
TAG_DID = 0x030c TAG_BLOCK = 0x0308
TAG_BLOCK = 0x0310 TAG_BTREE = 0x030c
TAG_BTREE = 0x0314 TAG_BRANCH = 0x031c
TAG_MDIR = 0x0321 TAG_MDIR = 0x0321
TAG_MTREE = 0x0324 TAG_MTREE = 0x0324
TAG_MROOT = 0x0329 TAG_MROOT = 0x0329
TAG_BRANCH = 0x032c TAG_DID = 0x032c
TAG_UATTR = 0x0400 TAG_UATTR = 0x0400
TAG_SATTR = 0x0600 TAG_SATTR = 0x0600
TAG_SHRUB = 0x1000 TAG_SHRUB = 0x1000
@@ -178,13 +178,13 @@ def tagrepr(tag, w, size, off=None):
'shrub' if tag & TAG_SHRUB else '', 'shrub' if tag & TAG_SHRUB else '',
'data' if (tag & 0xfff) == TAG_DATA 'data' if (tag & 0xfff) == TAG_DATA
else 'trunk' if (tag & 0xfff) == TAG_TRUNK else 'trunk' if (tag & 0xfff) == TAG_TRUNK
else 'did' if (tag & 0xfff) == TAG_DID
else 'block' if (tag & 0xfff) == TAG_BLOCK else 'block' if (tag & 0xfff) == TAG_BLOCK
else 'btree' if (tag & 0xfff) == TAG_BTREE else 'btree' if (tag & 0xfff) == TAG_BTREE
else 'branch' if (tag & 0xfff) == TAG_BRANCH
else 'mdir' if (tag & 0xfff) == TAG_MDIR else 'mdir' if (tag & 0xfff) == TAG_MDIR
else 'mtree' if (tag & 0xfff) == TAG_MTREE else 'mtree' if (tag & 0xfff) == TAG_MTREE
else 'mroot' if (tag & 0xfff) == TAG_MROOT else 'mroot' if (tag & 0xfff) == TAG_MROOT
else 'branch' if (tag & 0xfff) == TAG_BRANCH else 'did' if (tag & 0xfff) == TAG_DID
else 'struct 0x%02x' % (tag & 0xff), else 'struct 0x%02x' % (tag & 0xff),
' w%d' % w if w else '', ' w%d' % w if w else '',
size) size)

View File

@@ -32,14 +32,14 @@ TAG_REG = 0x0202
TAG_DIR = 0x0203 TAG_DIR = 0x0203
TAG_STRUCT = 0x0300 TAG_STRUCT = 0x0300
TAG_DATA = 0x0300 TAG_DATA = 0x0300
TAG_TRUNK = 0x0308 TAG_TRUNK = 0x0304
TAG_DID = 0x030c TAG_BLOCK = 0x0308
TAG_BLOCK = 0x0310 TAG_BTREE = 0x030c
TAG_BTREE = 0x0314 TAG_BRANCH = 0x031c
TAG_MDIR = 0x0321 TAG_MDIR = 0x0321
TAG_MTREE = 0x0324 TAG_MTREE = 0x0324
TAG_MROOT = 0x0329 TAG_MROOT = 0x0329
TAG_BRANCH = 0x032c TAG_DID = 0x032c
TAG_UATTR = 0x0400 TAG_UATTR = 0x0400
TAG_SATTR = 0x0600 TAG_SATTR = 0x0600
TAG_SHRUB = 0x1000 TAG_SHRUB = 0x1000
@@ -194,13 +194,13 @@ def tagrepr(tag, w, size, off=None):
'shrub' if tag & TAG_SHRUB else '', 'shrub' if tag & TAG_SHRUB else '',
'data' if (tag & 0xfff) == TAG_DATA 'data' if (tag & 0xfff) == TAG_DATA
else 'trunk' if (tag & 0xfff) == TAG_TRUNK else 'trunk' if (tag & 0xfff) == TAG_TRUNK
else 'did' if (tag & 0xfff) == TAG_DID
else 'block' if (tag & 0xfff) == TAG_BLOCK else 'block' if (tag & 0xfff) == TAG_BLOCK
else 'btree' if (tag & 0xfff) == TAG_BTREE else 'btree' if (tag & 0xfff) == TAG_BTREE
else 'branch' if (tag & 0xfff) == TAG_BRANCH
else 'mdir' if (tag & 0xfff) == TAG_MDIR else 'mdir' if (tag & 0xfff) == TAG_MDIR
else 'mtree' if (tag & 0xfff) == TAG_MTREE else 'mtree' if (tag & 0xfff) == TAG_MTREE
else 'mroot' if (tag & 0xfff) == TAG_MROOT else 'mroot' if (tag & 0xfff) == TAG_MROOT
else 'branch' if (tag & 0xfff) == TAG_BRANCH else 'did' if (tag & 0xfff) == TAG_DID
else 'struct 0x%02x' % (tag & 0xff), else 'struct 0x%02x' % (tag & 0xff),
' w%d' % w if w else '', ' w%d' % w if w else '',
size) size)

View File

@@ -31,14 +31,14 @@ TAG_REG = 0x0202
TAG_DIR = 0x0203 TAG_DIR = 0x0203
TAG_STRUCT = 0x0300 TAG_STRUCT = 0x0300
TAG_DATA = 0x0300 TAG_DATA = 0x0300
TAG_TRUNK = 0x0308 TAG_TRUNK = 0x0304
TAG_DID = 0x030c TAG_BLOCK = 0x0308
TAG_BLOCK = 0x0310 TAG_BTREE = 0x030c
TAG_BTREE = 0x0314 TAG_BRANCH = 0x031c
TAG_MDIR = 0x0321 TAG_MDIR = 0x0321
TAG_MTREE = 0x0324 TAG_MTREE = 0x0324
TAG_MROOT = 0x0329 TAG_MROOT = 0x0329
TAG_BRANCH = 0x032c TAG_DID = 0x032c
TAG_UATTR = 0x0400 TAG_UATTR = 0x0400
TAG_SATTR = 0x0600 TAG_SATTR = 0x0600
TAG_SHRUB = 0x1000 TAG_SHRUB = 0x1000
@@ -193,13 +193,13 @@ def tagrepr(tag, w, size, off=None):
'shrub' if tag & TAG_SHRUB else '', 'shrub' if tag & TAG_SHRUB else '',
'data' if (tag & 0xfff) == TAG_DATA 'data' if (tag & 0xfff) == TAG_DATA
else 'trunk' if (tag & 0xfff) == TAG_TRUNK else 'trunk' if (tag & 0xfff) == TAG_TRUNK
else 'did' if (tag & 0xfff) == TAG_DID
else 'block' if (tag & 0xfff) == TAG_BLOCK else 'block' if (tag & 0xfff) == TAG_BLOCK
else 'btree' if (tag & 0xfff) == TAG_BTREE else 'btree' if (tag & 0xfff) == TAG_BTREE
else 'branch' if (tag & 0xfff) == TAG_BRANCH
else 'mdir' if (tag & 0xfff) == TAG_MDIR else 'mdir' if (tag & 0xfff) == TAG_MDIR
else 'mtree' if (tag & 0xfff) == TAG_MTREE else 'mtree' if (tag & 0xfff) == TAG_MTREE
else 'mroot' if (tag & 0xfff) == TAG_MROOT else 'mroot' if (tag & 0xfff) == TAG_MROOT
else 'branch' if (tag & 0xfff) == TAG_BRANCH else 'did' if (tag & 0xfff) == TAG_DID
else 'struct 0x%02x' % (tag & 0xff), else 'struct 0x%02x' % (tag & 0xff),
' w%d' % w if w else '', ' w%d' % w if w else '',
size) size)

View File

@@ -40,14 +40,14 @@ TAG_REG = 0x0202
TAG_DIR = 0x0203 TAG_DIR = 0x0203
TAG_STRUCT = 0x0300 TAG_STRUCT = 0x0300
TAG_DATA = 0x0300 TAG_DATA = 0x0300
TAG_TRUNK = 0x0308 TAG_TRUNK = 0x0304
TAG_DID = 0x030c TAG_BLOCK = 0x0308
TAG_BLOCK = 0x0310 TAG_BTREE = 0x030c
TAG_BTREE = 0x0314 TAG_BRANCH = 0x031c
TAG_MDIR = 0x0321 TAG_MDIR = 0x0321
TAG_MTREE = 0x0324 TAG_MTREE = 0x0324
TAG_MROOT = 0x0329 TAG_MROOT = 0x0329
TAG_BRANCH = 0x032c TAG_DID = 0x032c
TAG_UATTR = 0x0400 TAG_UATTR = 0x0400
TAG_SATTR = 0x0600 TAG_SATTR = 0x0600
TAG_SHRUB = 0x1000 TAG_SHRUB = 0x1000
@@ -180,13 +180,13 @@ def tagrepr(tag, w, size, off=None):
'shrub' if tag & TAG_SHRUB else '', 'shrub' if tag & TAG_SHRUB else '',
'data' if (tag & 0xfff) == TAG_DATA 'data' if (tag & 0xfff) == TAG_DATA
else 'trunk' if (tag & 0xfff) == TAG_TRUNK else 'trunk' if (tag & 0xfff) == TAG_TRUNK
else 'did' if (tag & 0xfff) == TAG_DID
else 'block' if (tag & 0xfff) == TAG_BLOCK else 'block' if (tag & 0xfff) == TAG_BLOCK
else 'btree' if (tag & 0xfff) == TAG_BTREE else 'btree' if (tag & 0xfff) == TAG_BTREE
else 'branch' if (tag & 0xfff) == TAG_BRANCH
else 'mdir' if (tag & 0xfff) == TAG_MDIR else 'mdir' if (tag & 0xfff) == TAG_MDIR
else 'mtree' if (tag & 0xfff) == TAG_MTREE else 'mtree' if (tag & 0xfff) == TAG_MTREE
else 'mroot' if (tag & 0xfff) == TAG_MROOT else 'mroot' if (tag & 0xfff) == TAG_MROOT
else 'branch' if (tag & 0xfff) == TAG_BRANCH else 'did' if (tag & 0xfff) == TAG_DID
else 'struct 0x%02x' % (tag & 0xff), else 'struct 0x%02x' % (tag & 0xff),
' w%d' % w if w else '', ' w%d' % w if w else '',
size) size)