libsquashfs 1.3.0
A new set of tools and libraries for working with SquashFS images
Loading...
Searching...
No Matches
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.

Macro Definition Documentation

◆ SQFS_DEFAULT_BLOCK_SIZE

#define SQFS_DEFAULT_BLOCK_SIZE   (128 * 1024)

Definition at line 39 of file super.h.

◆ SQFS_DEVBLK_SIZE

#define SQFS_DEVBLK_SIZE   4096

Definition at line 35 of file super.h.

◆ SQFS_MAGIC

#define SQFS_MAGIC   0x73717368

Definition at line 32 of file super.h.

◆ SQFS_MAX_BLOCK_SIZE

#define SQFS_MAX_BLOCK_SIZE   (1024 * 1024)

Definition at line 38 of file super.h.

◆ SQFS_MIN_BLOCK_SIZE

#define SQFS_MIN_BLOCK_SIZE   (4 * 1024)

Definition at line 37 of file super.h.

◆ SQFS_VERSION_MAJOR

#define SQFS_VERSION_MAJOR   4

Definition at line 33 of file super.h.

◆ SQFS_VERSION_MINOR

#define SQFS_VERSION_MINOR   0

Definition at line 34 of 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.