fsm.h
Go to the documentation of this file.
#ifndef H_FSM
#define H_FSM
#include <iosm.h>
typedef /*@abstract@*/ struct iosm_s * FSM_t;
/*@-exportlocal@*/
/*@unchecked@*/
extern int _fsm_debug;
/*@=exportlocal@*/
typedef /*@abstract@*/ struct iosmIterator_s * FSMI_t;
#ifdef __cplusplus
extern "C" {
#endif
/*@only@*/ IOSM_t newFSM(void)
/*@*/;
/*@null@*/ IOSM_t freeFSM(/*@only@*/ /*@null@*/ IOSM_t fsm)
/*@globals fileSystem @*/
/*@modifies fsm, fileSystem @*/;
int fsmSetup(void * _fsm, iosmFileStage goal, /*@null@*/ const char * afmt,
const void * _ts,
const void * _fi,
FD_t cfd,
/*@out@*/ unsigned int * archiveSize,
/*@out@*/ const char ** failedFile)
/*@globals h_errno, fileSystem, internalState @*/
/*@modifies cfd, *archiveSize, *failedFile,
fileSystem, internalState @*/;
int fsmTeardown(void * _fsm)
/*@globals h_errno, fileSystem, internalState @*/
/*@modifies _fsm, fileSystem, internalState @*/;
int fsmMapPath(IOSM_t fsm)
/*@modifies fsm @*/;
int fsmMapAttrs(IOSM_t fsm)
/*@modifies fsm @*/;
/*@=exportlocal@*/
int fsmNext(IOSM_t fsm, iosmFileStage nstage)
/*@globals errno, h_errno, fileSystem, internalState @*/
/*@modifies fsm, errno, fileSystem, internalState @*/;
/*@-exportlocal@*/
int fsmStage(/*@partial@*/ IOSM_t fsm, iosmFileStage stage)
/*@globals errno, h_errno, fileSystem, internalState @*/
/*@modifies fsm, errno, fileSystem, internalState @*/;
/*@=exportlocal@*/
#ifdef __cplusplus
}
#endif
#endif /* H_FSM */