store members_offset as a varint
This commit is contained in:
14
README.md
14
README.md
@@ -187,11 +187,9 @@ the beginning of the section.
|
||||
```
|
||||
const PackedGroup = packed struct {
|
||||
gid: u32,
|
||||
// index to a separate structure with a list of members.
|
||||
members_offset: u32,
|
||||
groupname_len: u8, // max is 32, but have too much space here.
|
||||
// a groupname_len-sized string
|
||||
groupname []u8;
|
||||
// varint members_offset + (groupname_len-1)-length string
|
||||
groupdata []u8;
|
||||
}
|
||||
|
||||
pub const PackedUser = packed struct {
|
||||
@@ -206,11 +204,11 @@ pub const PackedUser = packed struct {
|
||||
gecos_len: u11,
|
||||
// pseudocode: variable-sized array that will be stored immediately after
|
||||
// this struct.
|
||||
stringdata []u8;
|
||||
userdata []u8;
|
||||
}
|
||||
```
|
||||
|
||||
`stringdata` contains a few string entries:
|
||||
`userdata` contains a few entries:
|
||||
- home.
|
||||
- name (optional).
|
||||
- gecos.
|
||||
@@ -368,8 +366,8 @@ shellIndex len(shells)*2 shell index array
|
||||
shellBlob <= 4032 shell data blob (max 63*64 bytes)
|
||||
groups ? packed Group entries (8b padding)
|
||||
users ? packed User entries (8b padding)
|
||||
groupMembers ? per-group varint memberlist (no padding)
|
||||
userGids ? per-user varint gidlist (no padding)
|
||||
groupMembers ? per-group delta varint memberlist (no padding)
|
||||
userGids ? per-user delta varint gidlist (no padding)
|
||||
```
|
||||
|
||||
Section creation order:
|
||||
|
||||
Reference in New Issue
Block a user