FLMREC-API
FLAM Record Interface Version: 5.2.1-42969
FLMREC.h
Go to the documentation of this file.
1
331
332#ifndef INC_FLMREC_H
333#define INC_FLMREC_H
334
336#ifdef __cplusplus
337 extern "C" {
338#endif
340
341#include "FLMRTC.h"
342#include "FLMDEF.h"
343
344/**********************************************************************/
354#define FMR_READ_ARC FLM_DECO_ARCHIVE
355#define FMR_DECO_ARC FLM_DECO_ARCHIVE
356#define FMR_READ_FORMAT FLC_READ_FORMAT
357#define FMR_WRITE_ARC FLM_COMP_ARCHIVE
358#define FMR_COMP_ARC FLM_COMP_ARCHIVE
359#define FMR_WRITE_FORMAT FLC_WRITE_FORMAT
360#define FMR_STATE FLC_STATE
361#define FMR_LOG FLC_LOG
363
364/**********************************************************************/
370
382typedef struct FmrMbrSta {
383 long long siRecCnt;
384 long long siSegCnt;
385 long long siElmCnt;
386 long long siOrgLen;
387 long long siCmpLen;
389
402
404
405/**********************************************************************/
411
423extern int siFmrVersion(const int siSize, char* pcBuffer);
424
436extern int siFmrAbout(const int siSize, char* pcBuffer);
437
449extern int siFmrLicense(const int siSize, char* pcBuffer);
450
480extern int siFmrHelp(
481 char* pcErr,
482 const int siWhat,
483 const int siDepth,
484 const char* pcPath,
485 int* piOut,
486 char** ppOut);
487
517extern int siFmrSyntax(
518 char* pcErr,
519 const int siWhat,
520 const int siDepth,
521 const char* pcPath,
522 int* piOut,
523 char** ppOut);
524
552extern int siFmrCheck(
553 char* pcErr,
554 const int siWhat,
555 const char* pcString,
556 int* piOut,
557 char** ppOut);
558
592extern int siFmrOpen(
593 char* pcErr,
594 void** ppGbl,
595 const int isSys,
596 const int isStd,
597 const char* pcEnv,
598 const char* pcLog);
599
610extern int siFmrClose(void* pvGbl);
611
625extern int siFmrGetLog(void* pvGbl, const char** ppLog);
626
636extern int siFmrClearLog(void* pvGbl);
637
647extern void vdFmrDeactivateLog(void* pvGbl);
648
657extern void vdFmrReactivateLog(void* pvGbl);
658
721 char* pcErr,
722 void* pvGbl,
723 void** ppHdl,
724 const char* pcArchive,
725 const char* pcFormat,
726 const int siNumber);
727
754 char* pcErr,
755 void* pvHdl,
756 const char* pcFormat);
757
789extern int siFmrLocate(
790 char* pcErr,
791 void* pvHdl,
792 int* piLen,
793 const unsigned char** ppRec,
794 const int siSkip,
795 void* pvCnv);
796
826extern int siFmrGet(
827 char* pcErr,
828 void* pvHdl,
829 int* piLen,
830 unsigned char* pcRec,
831 const int siSkip,
832 void* pvCnv);
833
869extern int siFmrNewMember(
870 char* pcErr,
871 void* pvHdl,
872 const char* pcFormat,
873 const int siStaFmt,
874 int* piStaSiz,
875 char** ppStaBuf);
876
925extern int siFmrPut(
926 char* pcErr,
927 void* pvHdl,
928 const int siLen,
929 const unsigned char* pcRec,
930 void* pvCnv);
931
961extern int siFmrFlush(
962 char* pcErr,
963 void* pvHdl,
964 const int isFinal,
965 const int isForce);
966
977extern const char* pcFmrGetArcName(void* pvHdl);
978
991extern const char* pcFmrGetMbrName(void* pvHdl);
992
1006extern const char* pcFmrGetTabName(void* pvHdl);
1007
1029extern const char* pcFmrGetMbrState(void* pvHdl, const int isCurrent);
1030
1041extern const char* pcFmrGetArcComment(void* pvHdl);
1042
1055extern const unsigned char* pcFmrGetArcHeader(void* pvHdl, unsigned int* puiLen);
1056
1071extern unsigned int uiFmrGetArcType(void* pvHdl);
1072
1082extern unsigned int uiFmrGetArcMbrCount(void* pvHdl);
1083
1093extern unsigned int uiFmrGetArcVersion(void* pvHdl);
1094
1109extern unsigned int uiFmrGetArcSaveMode(void* pvHdl);
1110
1125extern const char* pcFmrGetFtrName(void* pvHdl);
1126
1139extern const char* pcFmrGetMbrComment(void* pvHdl);
1140
1152extern const unsigned char* pcFmrGetMbrHeader(void* pvHdl, unsigned int* puiLen);
1153
1168 char* pcErr,
1169 void* pvHdl,
1170 const char* pcCmt);
1171
1190 char* pcErr,
1191 void* pvHdl,
1192 const char* pcCmt);
1193
1211 char* pcErr,
1212 void* pvHdl,
1213 const unsigned char* pcHdr,
1214 unsigned int uiLen);
1215
1236 char* pcErr,
1237 void* pvHdl,
1238 const unsigned char* pcHdr,
1239 unsigned int uiLen);
1240
1259 char* pcErr,
1260 void* pvHdl,
1261 const char* pcName);
1262
1284 char* pcErr,
1285 void* pvHdl,
1286 const char* pcName);
1287
1317 char* pcErr,
1318 void* pvHdl,
1319 const char* pcState);
1320
1355 char* pcErr,
1356 void* pvHdl,
1357 const int isSuccess,
1358 const int siStaFmt,
1359 int* piStaSiz,
1360 char** ppStaBuf);
1361
1388extern const char* pcFmrGetArcInfo(
1389 void* pvHdl,
1390 char* pcBuf,
1391 unsigned int uiSiz);
1392
1414 char* pcErr,
1415 void* pvHdl,
1416 const int siLev,
1417 TsFmrChkResult* psResult);
1418
1435extern int siFmrGetMbrStatistics(void* pvHdl, TsFmrMbrSta* psSta);
1436
1449extern const char* pcFmrErrorMessage(const int siRtc);
1450
1452/**********************************************************************/
1453
1455
1456//TODO(5.2.2): required function for modify (free access)
1457// extern int siFmrOpenMbr(char* pcErr, void* pvHdl, void** ppHdl, const void* pvEnt, char** ppState);
1458//TODO(5.2.2): siFmrOpenTab()
1459// extern int siFmrFnd(char* pcErr, void* pvHdl, const int siLen, const unsigned char* pcRec);//red/upd(key)
1460// extern int siFmrAdd(char* pcErr, void* pvHdl, const int siLen, const unsigned char* pcRec);//add/wrt
1461// extern int siFmrIns(char* pcErr, void* pvHdl, const int siLen, const unsigned char* pcRec);//upd(key)
1462// extern int siFmrUpd(char* pcErr, void* pvHdl, const int siLen, const unsigned char* pcRec);//upd(key)
1463// extern int siFmrDel(char* pcErr, void* pvHdl, const int siLen, const unsigned char* pcRec);//upd
1464//TODO(5.2.2): siFmrCloseTab()
1465// extern int siFmrCloseMbr(char* pcErr, void* pvHdl);
1466
1467//TODO(5.2.2): required function for fuse
1468// extern int siFmrArcWlk(char* pcErr, void* pvHdl, const int siOri, void** ppEnt);//red
1469// extern int siFmrArcMch(char* pcErr, void* pvHdl, void* pvEnt);//red
1470
1471#ifdef __cplusplus
1472 }
1473#endif
1475#endif /* INC_FLMREC_H */
FLMDEF - External FLAM definitions.
FLMRTC - FLAM-Return-Codes.
unsigned int uiFmrGetArcVersion(void *pvHdl)
Returns the archive format version.
const unsigned char * pcFmrGetMbrHeader(void *pvHdl, unsigned int *puiLen)
Returns the binary user header of the last read member.
unsigned int uiFmrGetArcSaveMode(void *pvHdl)
Returns the archive save mode.
int siFmrCheckArchive(char *pcErr, void *pvHdl, const int siLev, TsFmrChkResult *psResult)
Performs an integrity check on the open archive.
void vdFmrDeactivateLog(void *pvGbl)
Deactivates in-memory logging.
int siFmrSetMbrComment(char *pcErr, void *pvHdl, const char *pcCmt)
Sets the member comment (write mode).
int siFmrNextMember(char *pcErr, void *pvHdl, const char *pcFormat)
Advances to the next matching member (read mode).
int siFmrAbout(const int siSize, char *pcBuffer)
Retrieves about information.
const char * pcFmrErrorMessage(const int siRtc)
Maps a FLAM return code to a short English message.
int siFmrGetLog(void *pvGbl, const char **ppLog)
Retrieves in-memory log messages.
const char * pcFmrGetMbrName(void *pvHdl)
Returns the name of the current archive member.
int siFmrSyntax(char *pcErr, const int siWhat, const int siDepth, const char *pcPath, int *piOut, char **ppOut)
Retrieves syntax information for an archive or format string.
const unsigned char * pcFmrGetArcHeader(void *pvHdl, unsigned int *puiLen)
Returns the binary user header from the archive.
unsigned int uiFmrGetArcMbrCount(void *pvHdl)
Returns the number of members in the archive.
int siFmrVersion(const int siSize, char *pcBuffer)
Retrieves version information.
int siFmrCloseArchive(char *pcErr, void *pvHdl, const int isSuccess, const int siStaFmt, int *piStaSiz, char **ppStaBuf)
Closes a FLAM5 archive and releases all resources.
int siFmrGet(char *pcErr, void *pvHdl, int *piLen, unsigned char *pcRec, const int siSkip, void *pvCnv)
Reads the next record into a caller-supplied buffer (read mode).
int siFmrSetArcComment(char *pcErr, void *pvHdl, const char *pcCmt)
Sets the archive comment (write mode).
int siFmrPut(char *pcErr, void *pvHdl, const int siLen, const unsigned char *pcRec, void *pvCnv)
Writes a record or element to the current member (write mode).
int siFmrClearLog(void *pvGbl)
Clears the in-memory log buffer.
const char * pcFmrGetTabName(void *pvHdl)
Returns the current table name.
int siFmrHelp(char *pcErr, const int siWhat, const int siDepth, const char *pcPath, int *piOut, char **ppOut)
Retrieves help text for an archive or format string parameter.
int siFmrFlush(char *pcErr, void *pvHdl, const int isFinal, const int isForce)
Flushes buffered records to the archive (write mode).
int siFmrOpen(char *pcErr, void **ppGbl, const int isSys, const int isStd, const char *pcEnv, const char *pcLog)
Opens a global session with optional in-memory logging.
const char * pcFmrGetArcComment(void *pvHdl)
Returns the archive comment string.
void vdFmrReactivateLog(void *pvGbl)
Reactivates in-memory logging.
int siFmrSetMbrHeader(char *pcErr, void *pvHdl, const unsigned char *pcHdr, unsigned int uiLen)
Sets the member-level binary user header (write mode).
int siFmrSetTabName(char *pcErr, void *pvHdl, const char *pcName)
Sets the current table name (write mode).
const char * pcFmrGetFtrName(void *pvHdl)
Returns the filter name for the current member (DECO path).
const char * pcFmrGetArcInfo(void *pvHdl, char *pcBuf, unsigned int uiSiz)
Returns a human-readable description string for an open archive.
const char * pcFmrGetArcName(void *pvHdl)
Returns the current archive file name.
int siFmrLicense(const int siSize, char *pcBuffer)
Retrieves the license text.
const char * pcFmrGetMbrState(void *pvHdl, const int isCurrent)
Returns the member state string.
const char * pcFmrGetMbrComment(void *pvHdl)
Returns the user comment of the last read member.
int siFmrGetMbrStatistics(void *pvHdl, TsFmrMbrSta *psSta)
Returns member statistics for the currently open member.
int siFmrSetMbrState(char *pcErr, void *pvHdl, const char *pcState)
Sets member state attributes (write mode).
unsigned int uiFmrGetArcType(void *pvHdl)
Returns the archive type identifier.
int siFmrSetArcHeader(char *pcErr, void *pvHdl, const unsigned char *pcHdr, unsigned int uiLen)
Sets the archive-level binary user header (write mode).
int siFmrSetMbrName(char *pcErr, void *pvHdl, const char *pcName)
Sets the current member name (write mode).
int siFmrClose(void *pvGbl)
Closes a global session.
int siFmrOpenArchive(char *pcErr, void *pvGbl, void **ppHdl, const char *pcArchive, const char *pcFormat, const int siNumber)
Opens a FLAM5 archive for read or write access.
int siFmrCheck(char *pcErr, const int siWhat, const char *pcString, int *piOut, char **ppOut)
Validates an archive or format string.
int siFmrNewMember(char *pcErr, void *pvHdl, const char *pcFormat, const int siStaFmt, int *piStaSiz, char **ppStaBuf)
Starts a new member in an open archive (write mode).
int siFmrLocate(char *pcErr, void *pvHdl, int *piLen, const unsigned char **ppRec, const int siSkip, void *pvCnv)
Locates the next record without copying (zero-copy read).
struct FmrMbrSta TsFmrMbrSta
Member statistics returned by siFmrGetMbrStatistics().
struct FmrChkResult TsFmrChkResult
Result structure returned by siFmrCheckArchive().
Result structure returned by siFmrCheckArchive().
Definition FLMREC.h:396
int siTotal
Definition FLMREC.h:397
int siSuccess
Definition FLMREC.h:398
int siReason
Definition FLMREC.h:400
int siErrors
Definition FLMREC.h:399
Member statistics returned by siFmrGetMbrStatistics().
Definition FLMREC.h:382
long long siRecCnt
Definition FLMREC.h:383
long long siOrgLen
Definition FLMREC.h:386
long long siSegCnt
Definition FLMREC.h:384
long long siElmCnt
Definition FLMREC.h:385
long long siCmpLen
Definition FLMREC.h:387