# fsm_s Struct Reference
[PAYLOAD.]

File name and stat information. More...

`#include <lib/fsm.h>`

Collaboration diagram for fsm_s:
[legend]

## Data Fields
const char * | path
const char * | lpath
const char * | opath
FD_t | cfd
FD_t | rfd
char * | rdbuf
char * | rdb
size_t | rdsize
size_t | rdlen
size_t | rdnb
FD_t | wfd
char * | wrbuf
char * | wrb
size_t | wrsize
size_t | wrlen
size_t | wrnb
FSMI_t | iter
int | ix
struct hardLink_s * | links
struct hardLink_s * | li
unsigned int * | archiveSize
const char ** | failedFile
const char * | subdir
char | subbuf [64]
const char * | osuffix
const char * | nsuffix
const char * | suffix
char | sufbuf [64]
short * | dnlx
char * | ldn
int | ldnlen
int | ldnalloc
int | postpone
int | diskchecked
int | exists
int | mkdirsdone
int | astriplen
int | rc
int | commit
int | repackaged
cpioMapFlags | mapFlags
int | fdigestalgo
int | digestlen
const char * | dirName
const char * | baseName
const char * | fdigest
const unsigned char * | digest
const char * | fcontext
unsigned | fflags
fileAction | action
fileStage | goal
fileStage | stage
fileStage | nstage
struct stat | sb
struct stat | osb
unsigned | blksize
int(* | headerRead )(FSM_t fsm, struct stat *st)
int(* | headerWrite )(FSM_t fsm, struct stat *st)
int(* | trailerWrite )(FSM_t fsm)

## Detailed Description

File name and stat information.

Definition at line 125 of file fsm.h.

## Field Documentation

const char* fsm_s::path

Current file name.

Definition at line 127 of file fsm.h.

Referenced by cpioHeaderRead(), cpioHeaderWrite(), freeFSM(), fsmCommitLinks(), fsmMakeLinks(), fsmMapFContext(), fsmMapPath(), fsmMkdirs(), fsmRmdirs(), fsmStage(), saveHardLink(), tarHeaderRead(), tarHeaderWrite(), tarHeaderWriteBlock(), writeFile(), and writeLinkedFile().

const char* fsm_s::lpath

Current link name.

Definition at line 129 of file fsm.h.

Referenced by cpioHeaderRead(), cpioHeaderWrite(), fsmStage(), tarHeaderRead(), tarHeaderWrite(), writeFile(), and writeLinkedFile().

const char* fsm_s::opath

Original file name.

Definition at line 131 of file fsm.h.

Referenced by fsmMakeLinks(), fsmStage(), and writeFile().

FD_t fsm_s::cfd

Payload file handle.

Definition at line 133 of file fsm.h.

Referenced by fsmSetup(), fsmStage(), and fsmTeardown().

FD_t fsm_s::rfd

read: File handle.

Definition at line 135 of file fsm.h.

Referenced by fsmStage(), and writeFile().

char* fsm_s::rdbuf

read: Buffer.

Definition at line 137 of file fsm.h.

Referenced by cpioHeaderWrite(), cpioTrailerWrite(), fsmMkdirs(), fsmRmdirs(), fsmStage(), tarHeaderWrite(), tarHeaderWriteName(), and writeFile().

char* fsm_s::rdb

read: Buffer allocated.

Definition at line 139 of file fsm.h.

Referenced by fsmStage().

size_t fsm_s::rdsize

read: Buffer allocated size.

Definition at line 140 of file fsm.h.

Referenced by fsmStage(), and writeFile().

size_t fsm_s::rdlen

read: Number of bytes requested.

Definition at line 141 of file fsm.h.

Referenced by fsmStage(), and writeFile().

size_t fsm_s::rdnb

read: Number of bytes returned.

Definition at line 142 of file fsm.h.

Referenced by cpioHeaderRead(), cpioHeaderWrite(), cpioTrailerWrite(), fsmStage(), tarHeaderRead(), tarHeaderReadName(), tarHeaderWriteBlock(), tarHeaderWriteName(), and writeFile().

FD_t fsm_s::wfd

write: File handle.

Definition at line 143 of file fsm.h.

Referenced by extractRegular(), and fsmStage().

char* fsm_s::wrbuf

write: Buffer.

Definition at line 145 of file fsm.h.

Referenced by cpioHeaderRead(), fsmStage(), tarHeaderRead(), and tarHeaderReadName().

char* fsm_s::wrb

write: Buffer allocated.

Definition at line 147 of file fsm.h.

Referenced by fsmStage().

size_t fsm_s::wrsize

write: Buffer allocated size.

Definition at line 148 of file fsm.h.

Referenced by cpioHeaderRead(), extractRegular(), and fsmStage().

size_t fsm_s::wrlen

write: Number of bytes requested.

Definition at line 149 of file fsm.h.

Referenced by cpioHeaderRead(), extractRegular(), fsmStage(), tarHeaderRead(), and tarHeaderReadName().

size_t fsm_s::wrnb

write: Number of bytes returned.

Definition at line 150 of file fsm.h.

Referenced by cpioHeaderWrite(), extractRegular(), fsmStage(), tarHeaderWriteBlock(), tarHeaderWriteName(), and writeFile().

FSMI_t fsm_s::iter

File iterator.

Definition at line 152 of file fsm.h.

Referenced by freeFSM(), fsmGetFi(), fsmGetTs(), fsmSetup(), fsmStage(), and fsmTeardown().

int fsm_s::ix

Current file iterator index.

Definition at line 153 of file fsm.h.

Referenced by fsmCommitLinks(), fsmMakeLinks(), fsmMapAttrs(), fsmMapFContext(), fsmMapPath(), fsmStage(), saveHardLink(), writeFile(), and writeLinkedFile().

struct hardLink_s* fsm_s::links`[read]`

Pending hard linked file(s).

Definition at line 155 of file fsm.h.

Referenced by freeFSM(), fsmCommitLinks(), fsmStage(), and saveHardLink().

struct hardLink_s* fsm_s::li`[read]`

Current hard linked file(s).

Definition at line 157 of file fsm.h.

Referenced by freeFSM(), fsmCommitLinks(), fsmMakeLinks(), fsmStage(), saveHardLink(), and writeLinkedFile().

unsigned int* fsm_s::archiveSize

Pointer to archive size.

Definition at line 159 of file fsm.h.

Referenced by fsmSetup().

const char** fsm_s::failedFile

First file name that failed.

Definition at line 161 of file fsm.h.

Referenced by fsmMakeLinks(), fsmSetup(), fsmStage(), fsmTeardown(), and writeLinkedFile().

const char* fsm_s::subdir

Current file sub-directory.

Definition at line 163 of file fsm.h.

Referenced by fsmMapPath(), and fsmStage().

char fsm_s::subbuf[64]

Definition at line 165 of file fsm.h.

const char* fsm_s::osuffix

Old, preserved, file suffix.

Definition at line 167 of file fsm.h.

Referenced by fsmMapPath(), and fsmStage().

const char* fsm_s::nsuffix

New, created, file suffix.

Definition at line 169 of file fsm.h.

Referenced by fsmCommitLinks(), fsmMakeLinks(), fsmMapPath(), fsmStage(), saveHardLink(), and writeLinkedFile().

const char* fsm_s::suffix

Current file suffix.

Definition at line 171 of file fsm.h.

Referenced by fsmMapPath(), and fsmStage().

char fsm_s::sufbuf[64]

Definition at line 172 of file fsm.h.

Referenced by fsmSetup(), and fsmStage().

short* fsm_s::dnlx

Last dirpath verified indexes.

Definition at line 174 of file fsm.h.

Referenced by freeFSM(), fsmMkdirs(), fsmRmdirs(), and fsmStage().

char* fsm_s::ldn

Last dirpath verified.

Definition at line 176 of file fsm.h.

Referenced by freeFSM(), fsmMkdirs(), fsmRmdirs(), and fsmStage().

int fsm_s::ldnlen

Last dirpath current length.

Definition at line 177 of file fsm.h.

Referenced by fsmMkdirs(), and fsmStage().

int fsm_s::ldnalloc

Last dirpath allocated length.

Definition at line 178 of file fsm.h.

Referenced by fsmMkdirs(), and fsmStage().

int fsm_s::postpone

Skip remaining stages?

Definition at line 179 of file fsm.h.

Referenced by fsmStage().

int fsm_s::diskchecked

Has stat(2) been performed?

Definition at line 180 of file fsm.h.

Referenced by fsmStage().

int fsm_s::exists

Does current file exist on disk?

Definition at line 181 of file fsm.h.

Referenced by fsmStage().

int fsm_s::mkdirsdone

Have "orphan" dirs been created?

Definition at line 182 of file fsm.h.

Referenced by fsmStage().

int fsm_s::astriplen

Length of buildroot prefix.

Definition at line 183 of file fsm.h.

Referenced by fsmMapPath(), fsmStage(), and writeLinkedFile().

int fsm_s::rc

External file stage return code.

Definition at line 184 of file fsm.h.

Referenced by fsmSetup(), fsmStage(), and fsmTeardown().

int fsm_s::commit

Commit synchronously?

Definition at line 185 of file fsm.h.

Referenced by fsmStage().

int fsm_s::repackaged

Is payload repackaged?

Definition at line 186 of file fsm.h.

Referenced by fsmStage().

cpioMapFlags fsm_s::mapFlags

Bit(s) to control mapping.

Definition at line 187 of file fsm.h.

Referenced by fsmMapAttrs(), fsmMapPath(), fsmStage(), and writeFile().

int fsm_s::fdigestalgo

Digest algorithm (~= PGPHASHALGO_MD5)

Definition at line 188 of file fsm.h.

Referenced by extractRegular(), and fsmMapAttrs().

int fsm_s::digestlen

No. of bytes in binary digest (~= 16)

Definition at line 189 of file fsm.h.

Referenced by extractRegular(), and fsmMapAttrs().

const char* fsm_s::dirName

File directory name.

Definition at line 191 of file fsm.h.

Referenced by fsmFsPath(), fsmMapPath(), and writeFile().

const char* fsm_s::baseName

File base name.

Definition at line 193 of file fsm.h.

Referenced by fsmFsPath(), fsmMapPath(), and writeFile().

const char* fsm_s::fdigest

Hex digest (usually MD5, NULL disables).

Definition at line 195 of file fsm.h.

Referenced by extractRegular(), and fsmMapAttrs().

const unsigned char* fsm_s::digest

Bin digest (usually MD5, NULL disables).

Definition at line 197 of file fsm.h.

Referenced by extractRegular(), and fsmMapAttrs().

const char* fsm_s::fcontext

File security context (NULL disables).

Definition at line 199 of file fsm.h.

Referenced by fsmMapFContext(), fsmMkdirs(), and fsmStage().

unsigned fsm_s::fflags

File flags.

Definition at line 201 of file fsm.h.

Referenced by fsmMapPath(), and fsmStage().

fileAction fsm_s::action

File disposition.

Definition at line 202 of file fsm.h.

Referenced by fsmCommitLinks(), fsmMakeLinks(), fsmMapPath(), and fsmStage().

fileStage fsm_s::goal

Package state machine goal.

Definition at line 203 of file fsm.h.

Referenced by fsmMapAttrs(), fsmSetup(), fsmStage(), and saveHardLink().

fileStage fsm_s::stage

External file stage.

Definition at line 204 of file fsm.h.

Referenced by fsmStage().

fileStage fsm_s::nstage

Next file stage.

Definition at line 205 of file fsm.h.

Referenced by fsmNext().

struct stat fsm_s::sb`[read]`

Current file stat(2) info.

Definition at line 206 of file fsm.h.

Referenced by extractRegular(), fsmCommitLinks(), fsmMapAttrs(), fsmMapFContext(), fsmMapPath(), fsmMkdirs(), fsmStage(), saveHardLink(), and writeFile().

struct stat fsm_s::osb`[read]`

Original file stat(2) info.

Definition at line 207 of file fsm.h.

Referenced by fsmMkdirs(), fsmStage(), and writeFile().

unsigned fsm_s::blksize

Archive block size.

Definition at line 209 of file fsm.h.

Referenced by fsmSetup(), fsmStage(), and tarTrailerWrite().

int(* fsm_s::headerRead)(FSM_t fsm, struct stat *st)

Referenced by fsmSetup(), and fsmStage().

int(* fsm_s::headerWrite)(FSM_t fsm, struct stat *st)

Referenced by fsmSetup(), fsmStage(), and writeLinkedFile().

int(* fsm_s::trailerWrite)(FSM_t fsm)

Referenced by fsmSetup(), and fsmStage().

The documentation for this struct was generated from the following file:

- lib/fsm.h