rpm 5.2.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

lib/fsm.h
Go to the documentation of this file.

    00001 #ifndef H_FSM
    00002 #define H_FSM
    00003
    00009 #include <iosm.h>
    00010
    00014 typedef /*@abstract@*/ struct iosm_s * FSM_t;
    00015
    00016 /*@-exportlocal@*/
    00017 /*@unchecked@*/
    00018 extern int _fsm_debug;
    00019 /*@=exportlocal@*/
    00020
    00024 typedef /*@abstract@*/ struct iosmIterator_s * FSMI_t;
    00025
    00026 #ifdef __cplusplus
    00027 extern "C" {
    00028 #endif
    00029
    00034 /*@only@*/ IOSM_t newFSM(void)
    00035         /*@*/;
    00036
    00042 /*@null@*/ IOSM_t freeFSM(/*@only@*/ /*@null@*/ IOSM_t fsm)
    00043         /*@globals fileSystem @*/
    00044         /*@modifies fsm, fileSystem @*/;
    00045
    00058 int fsmSetup(void * _fsm, iosmFileStage goal, /*@null@*/ const char * afmt,
    00059                 const void * _ts,
    00060                 const void * _fi,
    00061                 FD_t cfd,
    00062                 /*@out@*/ unsigned int * archiveSize,
    00063                 /*@out@*/ const char ** failedFile)
    00064         /*@globals h_errno, fileSystem, internalState @*/
    00065         /*@modifies cfd, *archiveSize, *failedFile,
    00066                 fileSystem, internalState @*/;
    00067
    00073 int fsmTeardown(void * _fsm)
    00074         /*@globals h_errno, fileSystem, internalState @*/
    00075         /*@modifies _fsm, fileSystem, internalState @*/;
    00076
    00081 int fsmMapPath(IOSM_t fsm)
    00082         /*@modifies fsm @*/;
    00083
    00088 int fsmMapAttrs(IOSM_t fsm)
    00089         /*@modifies fsm @*/;
    00090 /*@=exportlocal@*/
    00091
    00098 int fsmNext(IOSM_t fsm, iosmFileStage nstage)
    00099         /*@globals errno, h_errno, fileSystem, internalState @*/
    00100         /*@modifies fsm, errno, fileSystem, internalState @*/;
    00101
    00108 /*@-exportlocal@*/
    00109 int fsmStage(/*@partial@*/ IOSM_t fsm, iosmFileStage stage)
    00110         /*@globals errno, h_errno, fileSystem, internalState @*/
    00111         /*@modifies fsm, errno, fileSystem, internalState @*/;
    00112 /*@=exportlocal@*/
    00113
    00114 #ifdef __cplusplus
    00115 }
    00116 #endif
    00117
    00118 #endif  /* H_FSM */