All these files except GConv API headers are found in directory src/libsurprise/gconv/
found in directory src/include/surprise/
GConv API provided to higher layers of Partition Surprise
API for convert() functions providing general convertions, for accelerated actions and supplementary (filling) functions
Corresponding C files: gc.c, getsize.c, accel.c, supplement.c
bread()/bwrite()
API for comfortable direct accessing
any partition (this includes also all exported partitions)
Corresponding C files: brw.c
automake file
awk script gen_consts.awk generates file with constants consts.h in accordance with this file, these constants depend on platform and compiler, the goal is to maximize constants (with upper limit of some structures)
GConv error messages, reported by Surprise Error System
generates consts.h file by configuration file consts.cfg
check on bad blocks in partition or extent, allows to return list of found bad blocks
Corresponding C files: badblocks.c
Swapping machine API
Corresponding C files: crazy.c
Device intervals API, actions with virtual device consisting of all imported and exported partitions and given temporary free space, converting addresses between virtual device and partitions (both directions), API for direct access to devices and allocated memory
Corresponding C files: dev_rw.c, devint.c, memory.c
Duplicating files API, exported filesystem can decide to duplicate hardlinks (e.g. conversion ext2 -> FAT)
Corresponding C files: duplicate.c
API of cache for exported filesystems
Corresponding C files: expcache.c
Functions for simple operations with extents, e.g. union, intersection and many others
Corresponding C files: extents.c
Setting flags of blocks and seaching blocks with given flags, each block has own flags e.g. is in imported or exported partition or is unused etc.
Corresponding C files: flags.c
Functions for offering prefered free blocks to exported filesystems
Corresponding C files: foffer.c
API for getting free blocks, source is given temporary free space, blocks of exported partition outside any imported partition, free blocks in imported partitions (uses filesystem module call)
Corresponding C files: free.c
Defines if compile caches, defines FS_CALL*
macros which provide
actions with fc_*
call from filesystem modules, definition of a few GConv
internal types, definition struct gc_data
as internal GConv data in
partitions (struct partition
)
Corresponding C files: gc.c
Functions to use unique file/device handles because it is very important to know if two partitions are on the same device or not
Corresponding C files: handles.c
Provides services for creating hardlinks (and storing needed information about them) in exported filesystem corresponding to hardlinks in imported filesystem
Corresponding C files: hardlinks.c
API of cache for imported filesystems
Corresponding C files: impcache.c
Defined Magic keys for checking important structures
Corresponding C files:
Functions for conversions between blocks and represented structures
(leaves and nodes of tree), converting current and destination addresses
in the virtual device, reading/changing status of blocks (flags, current
and destination location), API for reading from virtual device in
current or destination state. Current state is signed to real
or
OLD
in sources and destination is signed to new
.
Corresponding C files: map_rw.c, map_status.c, addr2no.c,
alloc_blocks.c, bl2ln.c
Virtual copying files between filesystems. All blocks of files in imported filesystem which can stay their location in exported filesystem will be marked. During the virtual copying are prefered unmarked blocks.
Corresponding C files: movefiles.c, movedata.c
Supplementary functions for virtual copying files that operates with extents, change addresses between partitions and virtual device, search for available and nonavailable blocks
Corresponding C files: moving.c
Cache for converting addresses from current state of the virtual device to destination state
Corresponding C files: n2rcache.c
Cache for tree structures - leaves and nodes, this is the tree that represents virtual device in current and destination state and flags of all blocks
Corresponding C files: tcache.c
Make translation tables - this is swapping program for swapping machine for the last permutating phase of the algorithm
Corresponding C files: transtab.c
Functions for creating the tree, there is problem in creating the tree in unused blocks together marking these blocks in this tree
Corresponding C files: tree.c
Defined structures for leaf, node of tree, creating the tree and for storing swapping program
Corresponding C files: