FLCBYT-API
FLUC Byte Interface Version: 5.2.0-37009
FLCBYT.h
Go to the documentation of this file.
1
380
381#ifndef INC_FLCBYT_H
382#define INC_FLCBYT_H
384#ifdef __cplusplus
385 extern "C" {
386#endif
387
389
390/**********************************************************************/
391
392#include <stddef.h>
393#include <stdint.h>
394#include "FLMRTC.h"
395#include "FLMDEF.h"
396
397/**********************************************************************/
399
400#define FCB_READ_FILE FLC_READ_FILE
401#define FCB_READ_FORMAT FLC_READ_FORMAT
402#define FCB_WRITE_FILE FLC_WRITE_FILE
403#define FCB_WRITE_FORMAT FLC_WRITE_FORMAT
404#define FCB_CONV_READ FLC_CONV_READ
405#define FCB_CONV_WRITE FLC_CONV_WRITE
406#define FCB_CONV_FROM_TO FLC_CONV_FROM_TO
407#define FCB_INPUT_FILE FLC_INPUT_FILE
408#define FCB_OUTPUT_FILE FLC_OUTPUT_FILE
409#define FCB_INFO FLC_INFO
410#define FCB_STATE FLC_STATE
411
412extern int* piFcbErrno(void);
414/**********************************************************************/
420
432#define fcberrno (*piFcbErrno())
433
435/**********************************************************************/
441
451extern const char* fcbvsn(void);
452
463extern const char* fcbabo(void);
464
474extern const char* fcblic(void);
475
489extern int fcbrand(const int len, unsigned char* dat);
490
508extern int fcbenv(const int sys, const int std, const char* env);
509
521extern char* fcbsym(const char* name,size_t size,char* string);
522
523
571extern int fcbinfo(const char* infstr, const int format, size_t* bufsiz, char** buffer);
572
573
589extern int fcbopnlog(const char* logstr);
590
603extern int fcbgetlog(const char** buffer);
604
612extern int fcbclrlog(void);
613
622extern int fcbclslog(void);
623
699extern void* fcbopen(const char* filstr, const char* fmtstr);
700
765extern void* fcbopen2(const char* filstr, const char* fmtstr, char** state);
766
779extern int fcbclose(void* hdl);
780
815extern int fcbclose2(void* hdl, const int success, const int stafmt, size_t* stasiz, char** stabuf);
816
828extern const char* fcbgtn(void* hdl);
829
844extern const char* fcbgfn(void* hdl, const int ind);
845
865extern const char* fcbstn(void* hdl, const char* name);
866
877extern int fcbflush(void* hdl);
878
896extern void* fcbnewmbr(void* hdl, const char* fmtstr,const char* state);
897
914extern void* fcbnewmbr2(void* hdl, const char* fmtstr,const char* state, const int stafmt, size_t* stasiz, char** stabuf);
915
987extern void* fcbopenv(void* hdl, const char* cnvstr);
988
1000extern int fcbclosev(void* cnv);
1001
1128extern size_t fcbread(void* ptr, size_t size, size_t count, void* hdl);
1129
1173extern size_t fcbreadv(void* ptr, size_t size, size_t count, void* hdl, void* cnv, const int skip);
1174
1230extern size_t fcbwrite(const void *ptr, size_t size, size_t count, void* hdl);
1231
1249extern size_t fcbwritev(const void *ptr, size_t size, size_t count, void* hdl, void* cnv);
1250
1271extern int fcbprev(void* hdl);
1272
1273
1286extern int fcbgetc(void *hdl);
1287
1305extern int fcbungetc(int chr, void *hdl);
1306
1323extern int fcbputc(int chr, void *hdl);
1324
1355extern char *fcbgets(char *str, int n, void *hdl);
1356
1374extern int fcbputs(const char *str, void *hdl);
1375
1453extern int fcbconv(void* cnv, size_t inplen, const void* inp, size_t* outlen, void* out);
1454
1470extern int fcbconp(void* cnv, size_t inplen, const void* inp, size_t* outlen, void** out);
1471
1501extern int fcbrunv(void* cnv, size_t inplen, const void* inp, size_t* outlen, void* out);
1502
1518extern int fcbrunp(void* cnv, size_t inplen, const void* inp, size_t* outlen, void** out);
1519
1541extern int fcbfinv(void* cnv, size_t inplen, const void* inp, size_t* outlen, void* out);
1542
1558extern int fcbfinp(void* cnv, size_t inplen, const void* inp, size_t* outlen, void** out);
1559
1571extern int fcbeof(void* hdl);
1572
1584extern int fcbeot(void* hdl);
1585
1598extern int fcberror(void* hdl);
1599
1611extern const char* fcberrms(int code);
1612
1626extern const char* fcberrtr(void);
1627
1636extern void fcbclearerr(void* hdl);
1637
1654extern const char* fcbhelp(const int what, const int depth, const char* path);
1655
1671extern const char* fcbsyntax(const int what, const int depth, const char* path);
1672
1684extern const char* fcbcheck(const int what, const char* string);
1685
1709extern long long int fcbcount(void* hdl, const int direction, const int what, const int kind);
1710
1734extern void* fcbbini(
1735 const unsigned int mode,
1736 const unsigned int base,
1737 const unsigned int chrs);
1738
1756extern int fcbbrun(
1757 void* hdl,
1758 const int inlen,
1759 const unsigned char* in,
1760 unsigned char* out);
1761
1779extern int fcbbfin(
1780 void* hdl,
1781 const int inlen,
1782 const unsigned char* in,
1783 unsigned char* out);
1784
1799extern int fcbbase(
1800 const unsigned int mode,
1801 const unsigned int base,
1802 const unsigned int chrs,
1803 const int inlen,
1804 const unsigned char* in,
1805 unsigned char* out);
1806
1833extern void* fcbhini(
1834 const unsigned int hmtd,
1835 const unsigned int kmtd,
1836 const unsigned int keylen,
1837 const unsigned char* key,
1838 const unsigned int icvlen,
1839 const unsigned char* icv);
1840
1852extern int fcbhadd(
1853 void* hdl,
1854 const unsigned int datlen,
1855 const unsigned char* dat);
1856
1873extern int fcbhfin(
1874 void* hdl,
1875 unsigned int* hshlen,
1876 unsigned char* hsh);
1877
1897extern int fcbhash(
1898 const unsigned int hmtd,
1899 const unsigned int kmtd,
1900 const unsigned int keylen,
1901 const unsigned char* key,
1902 const unsigned int icvlen,
1903 const unsigned char* icv,
1904 const unsigned int datlen,
1905 const unsigned char* dat,
1906 unsigned int* hshlen,
1907 unsigned char* hsh);
1908
1909
1911/**********************************************************************/
1913#define FCB_KIND_NONE 0x00000000u
1914#define FCB_KIND_BLOCK 0x00000001u
1915#define FCB_KIND_RECORD 0x00000002u
1916#define FCB_KIND_ELEMENT 0x00000004u
1917#define FCB_KIND_ALL 0xFFFFFFFFu
1918extern int flopen9(char* pcErr, void** ppGbl,const int sys, const int std, const char* env, const char* param);
1919extern int flclose9(char* pcErr, void* pvGbl);
1920extern int fcbvsn9(const int l, const int s, char* b);
1921extern int fcbabo9(const int l, const int s, char* b);
1922extern int fcblic9(const int s, char* b);
1923extern int fcbinfo9(void* pvGbl, char* pcErr, const char* infstr, const int format, size_t* bufsiz, char** buffer, unsigned int* piLen);
1924extern int fcbopen9(void* pvGbl, char* pcErr, void** ppHdl, const char* filstr, const char* fmtstr, char** state, unsigned int kind, const int64_t offset, const int number, const int isContinue);
1925extern int fcbnewmbr9(char* pcErr, void* hdl,const char* fmtstr,const char* state, const int stafmt, size_t* stasiz, char** stabuf);
1926extern int fcbgtn9(char* pcErr, void* hdl, const char** name);
1927extern int fcbstn9(char* pcErr, void* hdl, const char* name);
1928extern int fcbgfn9(char* pcErr, void* pvHdl, const int uiIndex, const char** ppName);
1929extern int fcbflush9(char* pcErr, void* hdl, const int final, const int force);
1930extern int fcbclose9(char* pcErr, void* hdl, const int success, const int stafmt, size_t* stasiz, char** stabuf, int* ivrSize, char** ivrBuf, int* ivrFmtSize, char** ivrFmtBuf, const int isContinue);
1931extern int fcbopenv9(void* pvGbl, char* pcErr, void* hdl, void**ppHdl, const char* cnvstr);
1932extern int fcbclosev9(char* pcErr, void* cnv);
1933extern int fcbreadv9(char* pcErr, size_t* piRet, void* ptr, size_t size, size_t count, void* hdl, void* cnv, const int skip, size_t* len);
1934extern int fcbunreadv9(char* pcErr, const void* ptr, size_t size, size_t count, void* hdl, void* cnv);
1935extern int fcbwritev9(char* pcErr, size_t* piRet, const void *ptr, size_t size, size_t count, void* hdl, void* cnv);
1936extern int fcbconv9(char* pcErr, void* cnv, size_t inplen, const void* inp, size_t* outlen, void* out);
1937extern int fcbrunv9(char* pcErr, void* cnv, size_t inplen, const void* inp, size_t* outlen, void* out);
1938extern int fcbfinv9(char* pcErr, void* cnv, size_t inplen, const void* inp, size_t* outlen, void* out);
1939extern int fcbconp9(char* pcErr, void* cnv, size_t inplen, const void* inp, size_t* outlen, void** out);
1940extern int fcbrunp9(char* pcErr, void* cnv, size_t inplen, const void* inp, size_t* outlen, void** out);
1941extern int fcbfinp9(char* pcErr, void* cnv, size_t inplen, const void* inp, size_t* outlen, void** out);
1942extern int fcbpos9(char* pcErr, void* hdl, const int64_t offset);
1943extern int fcbrewind9(char* pcErr, void* pvHdl);
1944extern int fcbcount9(char* pcErr, void* hdl, const int direction, const int what, const int kind, long long int* count);
1945
1946extern int fcbopnlog9(void* pvGbl, char* pcErr, void** loghdl, const char* logstr);
1947extern int fcbgetlog9(void* loghdl,const char** buffer);
1948extern int fcbclrlog9(void* loghdl);
1949extern int fcbclslog9(void* loghdl);
1950
1951extern void* fcbpopen(char* errtrc, const char* filstr, const char* fmtstr, char** state, const int64_t offset);
1952extern int64_t fcbpread(char* errtrc, void* hdl, void* ptr, size_t count, int64_t offset);
1953extern int64_t fcbpwrite(char* errtrc, void* hdl, const void* ptr, size_t count, int64_t offset);
1954extern int fcbpclose(char* errtrc, void* hdl, const int success, const int stafmt, size_t* stasiz, char** stabuf, int* ivrSize, char** ivrBuf, int* ivrFmtSize, char** ivrFmtBuf);
1955extern int fcbpflush(char* errtrc, void* hdl, const int final, const int force);
1956
1978extern int fcbcopy(const char* redstr, const char* fmtstr, const char* wrtstr, const int stafmt, size_t* stasiz, char** stabuf);
1979extern int fcbcopy9(void* pvGbl, char* pcErr, const char* redstr, const char* fmtstr, const char* wrtstr, const int stafmt, size_t* stasiz, char** stabuf);
1980
1981extern int fcbpfiopar(void* hdl, void** ppFioPar);
1982extern uint64_t fcbpsize(char* errtrc, const char* filstr, const char* fmtstr);
1983
1984extern void* fcbopen3(const char* filstr, const char* fmtstr, char** state, const int number); /* only for internal tests*/
1985extern size_t fcbreadr(void* ptr, size_t size, size_t count, void* hdl, void* cnv, const int skip); /* only for record interface*/
1986extern int fcbisenvar(const int set);
1987extern char* fcbpcerr(void);
1988
1990/**********************************************************************/
1991
1993
1994#ifdef __cplusplus
1995 }
1996#endif
1998#endif /* INC_FLCBYT_H */
1999
2000/**********************************************************************/
FLMDEF - External FLAM definitions.
FLMRTC - FLAM-Return-Codes.
int fcbenv(const int sys, const int std, const char *env)
Load the FLAM environment.
const char * fcbsyntax(const int what, const int depth, const char *path)
Returns syntax information about the file and format strings.
int fcbconp(void *cnv, size_t inplen, const void *inp, size_t *outlen, void **out)
Converts independent data blocks (with locate)
const char * fcberrms(int code)
Get error message.
int fcbputs(const char *str, void *hdl)
Writes a null-terminated string.
int fcbhash(const unsigned int hmtd, const unsigned int kmtd, const unsigned int keylen, const unsigned char *key, const unsigned int icvlen, const unsigned char *icv, const unsigned int datlen, const unsigned char *dat, unsigned int *hshlen, unsigned char *hsh)
Calculate hash for a single buffer.
int fcbrunp(void *cnv, size_t inplen, const void *inp, size_t *outlen, void **out)
Converts dependent data blocks (with locate)
int fcbclslog(void)
Close the logging facility.
long long int fcbcount(void *hdl, const int direction, const int what, const int kind)
Determine current amount of processed data.
int fcbgetlog(const char **buffer)
Get log information.
int fcberror(void *hdl)
Get error code.
const char * fcbgfn(void *hdl, const int ind)
Returns the current file name.
char * fcbsym(const char *name, size_t size, char *string)
Determines a symbol from environment.
void * fcbopenv(void *hdl, const char *cnvstr)
Open converter.
int fcbbrun(void *hdl, const int inlen, const unsigned char *in, unsigned char *out)
En- or Decodes a data buffer.
size_t fcbwrite(const void *ptr, size_t size, size_t count, void *hdl)
Write data to file.
int fcbfinp(void *cnv, size_t inplen, const void *inp, size_t *outlen, void **out)
Finish conversion of dependent data blocks (with locate)
int fcbfinv(void *cnv, size_t inplen, const void *inp, size_t *outlen, void *out)
Finish conversion of dependent data blocks (with copy)
int fcbeof(void *hdl)
Returns the end-of-file (EOF) flag.
int fcbbase(const unsigned int mode, const unsigned int base, const unsigned int chrs, const int inlen, const unsigned char *in, unsigned char *out)
Base encoding or decoding for one message.
int fcbhadd(void *hdl, const unsigned int datlen, const unsigned char *dat)
Adds a buffer of data to the hash calculation.
void * fcbnewmbr(void *hdl, const char *fmtstr, const char *state)
Start with a new member in an open file.
int fcbrand(const int len, unsigned char *dat)
Generate random bytes.
int fcbhfin(void *hdl, unsigned int *hshlen, unsigned char *hsh)
Finalize hash calculation.
int fcbconv(void *cnv, size_t inplen, const void *inp, size_t *outlen, void *out)
Converts independent data blocks (with copy)
const char * fcbvsn(void)
Retrieves version information.
int fcbgetc(void *hdl)
Gets the next character.
int fcbprev(void *hdl)
Sets the read position to the previous record or element.
int fcbflush(void *hdl)
Flush internal buffers to the file.
char * fcbgets(char *str, int n, void *hdl)
Reads a line.
size_t fcbreadv(void *ptr, size_t size, size_t count, void *hdl, void *cnv, const int skip)
Read file data with conversion.
void * fcbopen(const char *filstr, const char *fmtstr)
Open file (without state management)
int fcbeot(void *hdl)
Returns the end-of-table (EOT) flag.
int fcbclose2(void *hdl, const int success, const int stafmt, size_t *stasiz, char **stabuf)
Close file with return of statistics information.
void * fcbopen2(const char *filstr, const char *fmtstr, char **state)
Open file (with state management)
int fcbrunv(void *cnv, size_t inplen, const void *inp, size_t *outlen, void *out)
Converts dependent data blocks (with copy)
int fcbclosev(void *cnv)
Close a converter.
const char * fcbgtn(void *hdl)
Returns the current table name.
const char * fcbstn(void *hdl, const char *name)
Sets the current table format.
const char * fcbabo(void)
Retrieves about information.
const char * fcberrtr(void)
Get error trace.
const char * fcblic(void)
Retrieves the license text.
void * fcbnewmbr2(void *hdl, const char *fmtstr, const char *state, const int stafmt, size_t *stasiz, char **stabuf)
Start with a new member in a open file (with statistics information)
const char * fcbhelp(const int what, const int depth, const char *path)
Returns help information about the file and format strings.
int fcbclrlog(void)
Clear the log information.
void fcbclearerr(void *hdl)
Clear error and EOF indicators.
int fcbclose(void *hdl)
Close file (without statistics)
void * fcbbini(const unsigned int mode, const unsigned int base, const unsigned int chrs)
Creates a handle for Base16/32/64 encoding or decoding.
size_t fcbread(void *ptr, size_t size, size_t count, void *hdl)
Read file data.
int fcbungetc(int chr, void *hdl)
Push a character back back to the stream.
const char * fcbcheck(const int what, const char *string)
Check syntax for a certain CLP string.
int fcbputc(int chr, void *hdl)
Writes a character.
void * fcbhini(const unsigned int hmtd, const unsigned int kmtd, const unsigned int keylen, const unsigned char *key, const unsigned int icvlen, const unsigned char *icv)
Initialize hash calculation.
int fcbbfin(void *hdl, const int inlen, const unsigned char *in, unsigned char *out)
Finalize en- or decoding.
int fcbinfo(const char *infstr, const int format, size_t *bufsiz, char **buffer)
Provides various information.
size_t fcbwritev(const void *ptr, size_t size, size_t count, void *hdl, void *cnv)
Write data to file with conversion.
int fcbopnlog(const char *logstr)
Open the logging facility for in-memory logging.