libsquashfs  1.3.2
A new set of tools and libraries for working with SquashFS images
super.h File Reference

Contains on-disk data structures, identifiers and functions for the SquashFS super block. More...

#include "sqfs/predef.h"

Go to the source code of this file.

Data Structures

struct  sqfs_super_t
 The SquashFS super block, located at the beginning of the file system to describe the layout of the filesystem. More...
 

Macros

#define SQFS_MAGIC   0x73717368
 
#define SQFS_VERSION_MAJOR   4
 
#define SQFS_VERSION_MINOR   0
 
#define SQFS_DEVBLK_SIZE   4096
 
#define SQFS_MIN_BLOCK_SIZE   (4 * 1024)
 
#define SQFS_MAX_BLOCK_SIZE   (1024 * 1024)
 
#define SQFS_DEFAULT_BLOCK_SIZE   (128 * 1024)
 

Enumerations

enum  SQFS_COMPRESSOR {
  SQFS_COMP_GZIP = 1, SQFS_COMP_LZMA = 2, SQFS_COMP_LZO = 3, SQFS_COMP_XZ = 4,
  SQFS_COMP_LZ4 = 5, SQFS_COMP_ZSTD = 6, SQFS_COMP_MIN = 1, SQFS_COMP_MAX = 6
}
 Set in sqfs_super_t to identify the compresser used by the filesystem. More...
 
enum  SQFS_SUPER_FLAGS {
  SQFS_FLAG_UNCOMPRESSED_INODES = 0x0001, SQFS_FLAG_UNCOMPRESSED_DATA = 0x0002, SQFS_FLAG_UNCOMPRESSED_FRAGMENTS = 0x0008, SQFS_FLAG_NO_FRAGMENTS = 0x0010,
  SQFS_FLAG_ALWAYS_FRAGMENTS = 0x0020, SQFS_FLAG_NO_DUPLICATES = 0x0040, SQFS_FLAG_EXPORTABLE = 0x0080, SQFS_FLAG_UNCOMPRESSED_XATTRS = 0x0100,
  SQFS_FLAG_NO_XATTRS = 0x0200, SQFS_FLAG_COMPRESSOR_OPTIONS = 0x0400, SQFS_FLAG_UNCOMPRESSED_IDS = 0x0800
}
 Flags that can be set in sqfs_super flags field. More...
 

Detailed Description

Contains on-disk data structures, identifiers and functions for the SquashFS super block.

Definition in file super.h.

Enumeration Type Documentation

◆ SQFS_COMPRESSOR

Set in sqfs_super_t to identify the compresser used by the filesystem.

Most of the flags that can be set are informative only.

Definition at line 194 of file super.h.

◆ SQFS_SUPER_FLAGS

Flags that can be set in sqfs_super flags field.

Enumerator
SQFS_FLAG_UNCOMPRESSED_INODES 

Set to indicate that meta data blocks holding the inodes are stored uncompressed.

SQFS_FLAG_UNCOMPRESSED_DATA 

Set to indicate that all data blocks are stored uncompressed.

SQFS_FLAG_UNCOMPRESSED_FRAGMENTS 

Set to indicate that all fragment blocks are stored uncompressed.

SQFS_FLAG_NO_FRAGMENTS 

Set to indicate that there are no fragment blocks.

SQFS_FLAG_ALWAYS_FRAGMENTS 

Set to indicate that fragments have been generated for all files that are not a multiple of the block size in size.

SQFS_FLAG_NO_DUPLICATES 

Set to indicate that data blocks have not been deduplicated.

SQFS_FLAG_EXPORTABLE 

Set to indicate that an NFS export table is present.

SQFS_FLAG_UNCOMPRESSED_XATTRS 

Set to indicate that meta data blocks holding extended attributes are stored uncompressed.

SQFS_FLAG_NO_XATTRS 

Set to indicate that the filesystem does not contain extended attributes.

SQFS_FLAG_COMPRESSOR_OPTIONS 

Set to indicate that a single, uncompressed meta data block with compressor options follows the super block.

SQFS_FLAG_UNCOMPRESSED_IDS 

Set to indicate that meta data blocks holding the IDs are stored uncompressed.

Definition at line 211 of file super.h.