libsquashfs: include/sqfs/block.h File Reference

libsquashfs 1.3.2 A new set of tools and libraries for working with SquashFS images

Loading...
Searching...
No Matches
block.h File Reference

Contains on-disk data structures for data block management. More...

`#include "sqfs/predef.h"`

Go to the source code of this file.

## Data Structures
struct | sqfs_fragment_t
| Data structure that makes up the fragment table entries. More...

## Macros
#define | SQFS_META_BLOCK_SIZE 8192
#define | SQFS_IS_BLOCK_COMPRESSED(size)
#define | SQFS_ON_DISK_BLOCK_SIZE(size)
#define | SQFS_IS_SPARSE_BLOCK(size)

## Enumerations
enum | SQFS_BLK_FLAGS { SQFS_BLK_DONT_COMPRESS = 0x0001 , SQFS_BLK_ALIGN = 0x0002 , SQFS_BLK_DONT_FRAGMENT = 0x0004 , SQFS_BLK_DONT_DEDUPLICATE = 0x0008 , SQFS_BLK_IGNORE_SPARSE = 0x0010 , SQFS_BLK_DONT_HASH = 0x0020 , SQFS_BLK_IS_SPARSE = 0x0400 , SQFS_BLK_FIRST_BLOCK = 0x0800 , SQFS_BLK_LAST_BLOCK = 0x1000 , SQFS_BLK_IS_FRAGMENT = 0x2000 , SQFS_BLK_FRAGMENT_BLOCK = 0x4000 , SQFS_BLK_IS_COMPRESSED = 0x8000 , SQFS_BLK_USER_SETTABLE_FLAGS = 0x003F , SQFS_BLK_FLAGS_ALL = 0xFC3F }
| Generic flags that tell the processor what to do with a block and flags that the processor sets when it is done with a block. More...

## Detailed Description

Contains on-disk data structures for data block management.

Definition in file block.h.

## Macro Definition Documentation

## ◆ SQFS_IS_BLOCK_COMPRESSED

#define SQFS_IS_BLOCK_COMPRESSED | ( |  | size | ) |

Value:
(((size) & (1 << 24)) == 0)

Definition at line 33 of file block.h.

## ◆ SQFS_IS_SPARSE_BLOCK

#define SQFS_IS_SPARSE_BLOCK | ( |  | size | ) |

Value:
(SQFS_ON_DISK_BLOCK_SIZE(size) == 0)

Definition at line 35 of file block.h.

## ◆ SQFS_META_BLOCK_SIZE

#define SQFS_META_BLOCK_SIZE 8192

Definition at line 31 of file block.h.

## ◆ SQFS_ON_DISK_BLOCK_SIZE

#define SQFS_ON_DISK_BLOCK_SIZE | ( |  | size | ) |

Value:
((size) & ((1 << 24) - 1))

Definition at line 34 of file block.h.

## Enumeration Type Documentation

## ◆ SQFS_BLK_FLAGS

enum SQFS_BLK_FLAGS

Generic flags that tell the processor what to do with a block and flags that the processor sets when it is done with a block.

Enumerator
SQFS_BLK_DONT_COMPRESS | Only calculate checksum, do NOT compress the data. If set, the blocks of a file will not be compressed by the sqfs_block_processor_t.
SQFS_BLK_ALIGN | Align the block on disk to device block size. If set, the sqfs_block_processor_t will add padding before the first block of the affected file and after the last block.
SQFS_BLK_DONT_FRAGMENT | Don't add the tail end of a file to a fragment block. If set, the sqfs_block_processor_t will always generate a final block for a file, even if it is truncated. It will not add the tail end to a fragment block.
SQFS_BLK_DONT_DEDUPLICATE | Surpress deduplication. If set on fragments or the last block of a file, it is always written to disk, even if a duplicate copy already exists.
SQFS_BLK_IGNORE_SPARSE | Supress sparse block detection. If set, sparse blocks are no longer checked and flagged as such and are instead processed like normal blocks.
SQFS_BLK_DONT_HASH | Don't compute block data checksums.
SQFS_BLK_IS_SPARSE | Set by the sqfs_block_processor_t if it determines a block of a file to be sparse, i.e. only zero bytes.
SQFS_BLK_FIRST_BLOCK | Set by the sqfs_block_processor_t on the first block of a file.
SQFS_BLK_LAST_BLOCK | Set by the sqfs_block_processor_t on the last block of a file.
SQFS_BLK_IS_FRAGMENT | Set by the sqfs_block_processor_t to indicate that a block is a tail end of a file and the block.
SQFS_BLK_FRAGMENT_BLOCK | Set by the sqfs_block_processor_t on fragment blocks that it generates.
SQFS_BLK_IS_COMPRESSED | Set by sqfs_block_processor_t if the block was actually compressed.
SQFS_BLK_USER_SETTABLE_FLAGS | The combination of all flags that are user settable.

Definition at line 65 of file block.h.