FLCBYT-API
FLUC Byte Interface
FLCBYT.h
Go to the documentation of this file.
1
382#ifdef __cplusplus
383 extern "C" {
384#endif
385
386#ifndef INC_FLCBYT_H
387#define INC_FLCBYT_H
390/**********************************************************************/
391
392#include <stddef.h>
393#include <stdint.h>
394#include "FLMRTC.h"
395#include "FLMDEF.h"
396
397/**********************************************************************/
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/**********************************************************************/
432#define fcberrno (*piFcbErrno())
433
435/**********************************************************************/
451extern const char* fcbvsn(void);
452
463extern const char* fcbabo(void);
464
474extern const char* fcblic(void);
475
493extern int fcbenv(const int sys, const int std, const char* env);
494
506extern char* fcbsym(const char* name,size_t size,char* string);
507
508
556extern int fcbinfo(const char* infstr, const int format, size_t* bufsiz, char** buffer);
557
558
574extern int fcbopnlog(const char* logstr);
575
588extern int fcbgetlog(const char** buffer);
589
597extern int fcbclrlog(void);
598
607extern int fcbclslog(void);
608
684extern void* fcbopen(const char* filstr, const char* fmtstr);
685
750extern void* fcbopen2(const char* filstr, const char* fmtstr, char** state);
751
764extern int fcbclose(void* hdl);
765
800extern int fcbclose2(void* hdl, const int success, const int stafmt, size_t* stasiz, char** stabuf);
801
813extern const char* fcbgtn(void* hdl);
814
829extern const char* fcbgfn(void* hdl, const int ind);
830
850extern const char* fcbstn(void* hdl, const char* name);
851
862extern int fcbflush(void* hdl);
863
881extern void* fcbnewmbr(void* hdl, const char* fmtstr,const char* state);
882
899extern void* fcbnewmbr2(void* hdl, const char* fmtstr,const char* state, const int stafmt, size_t* stasiz, char** stabuf);
900
972extern void* fcbopenv(void* hdl, const char* cnvstr);
973
985extern int fcbclosev(void* cnv);
986
1113extern size_t fcbread(void* ptr, size_t size, size_t count, void* hdl);
1114
1158extern size_t fcbreadv(void* ptr, size_t size, size_t count, void* hdl, void* cnv, const int skip);
1159
1215extern size_t fcbwrite(const void *ptr, size_t size, size_t count, void* hdl);
1216
1234extern size_t fcbwritev(const void *ptr, size_t size, size_t count, void* hdl, void* cnv);
1235
1256extern int fcbprev(void* hdl);
1257
1258
1271extern int fcbgetc(void *hdl);
1272
1290extern int fcbungetc(int chr, void *hdl);
1291
1308extern int fcbputc(int chr, void *hdl);
1309
1340extern char *fcbgets(char *str, int n, void *hdl);
1341
1359extern int fcbputs(const char *str, void *hdl);
1360
1438extern int fcbconv(void* cnv, size_t inplen, const void* inp, size_t* outlen, void* out);
1439
1455extern int fcbconp(void* cnv, size_t inplen, const void* inp, size_t* outlen, void** out);
1456
1486extern int fcbrunv(void* cnv, size_t inplen, const void* inp, size_t* outlen, void* out);
1487
1503extern int fcbrunp(void* cnv, size_t inplen, const void* inp, size_t* outlen, void** out);
1504
1526extern int fcbfinv(void* cnv, size_t inplen, const void* inp, size_t* outlen, void* out);
1527
1543extern int fcbfinp(void* cnv, size_t inplen, const void* inp, size_t* outlen, void** out);
1544
1556extern int fcbeof(void* hdl);
1557
1569extern int fcbeot(void* hdl);
1570
1583extern int fcberror(void* hdl);
1584
1596extern const char* fcberrms(int code);
1597
1611extern const char* fcberrtr(void);
1612
1621extern void fcbclearerr(void* hdl);
1622
1639extern const char* fcbhelp(const int what, const int depth, const char* path);
1640
1656extern const char* fcbsyntax(const int what, const int depth, const char* path);
1657
1669extern const char* fcbcheck(const int what, const char* string);
1670
1694extern long long int fcbcount(void* hdl, const int direction, const int what, const int kind);
1695
1719extern void* fcbbini(
1720 const unsigned int mode,
1721 const unsigned int base,
1722 const unsigned int chrs);
1723
1741extern int fcbbrun(
1742 void* hdl,
1743 const int inlen,
1744 const unsigned char* in,
1745 unsigned char* out);
1746
1764extern int fcbbfin(
1765 void* hdl,
1766 const int inlen,
1767 const unsigned char* in,
1768 unsigned char* out);
1769
1784extern int fcbbase(
1785 const unsigned int mode,
1786 const unsigned int base,
1787 const unsigned int chrs,
1788 const int inlen,
1789 const unsigned char* in,
1790 unsigned char* out);
1791
1818extern void* fcbhini(
1819 const unsigned int hmtd,
1820 const unsigned int kmtd,
1821 const unsigned int keylen,
1822 const unsigned char* key,
1823 const unsigned int icvlen,
1824 const unsigned char* icv);
1825
1837extern int fcbhadd(
1838 void* hdl,
1839 const unsigned int datlen,
1840 const unsigned char* dat);
1841
1858extern int fcbhfin(
1859 void* hdl,
1860 unsigned int* hshlen,
1861 unsigned char* hsh);
1862
1882extern int fcbhash(
1883 const unsigned int hmtd,
1884 const unsigned int kmtd,
1885 const unsigned int keylen,
1886 const unsigned char* key,
1887 const unsigned int icvlen,
1888 const unsigned char* icv,
1889 const unsigned int datlen,
1890 const unsigned char* dat,
1891 unsigned int* hshlen,
1892 unsigned char* hsh);
1893
1894
1896/**********************************************************************/
1898#define FCB_KIND_NONE 0x00000000u
1899#define FCB_KIND_BLOCK 0x00000001u
1900#define FCB_KIND_RECORD 0x00000002u
1901#define FCB_KIND_ELEMENT 0x00000004u
1902#define FCB_KIND_ALL 0xFFFFFFFFu
1903extern int flopen9(char* pcErr, void** ppGbl,const int sys, const int std, const char* env, const char* param);
1904extern int flclose9(char* pcErr, void* pvGbl);
1905extern int fcbvsn9(const int l, const int s, char* b);
1906extern int fcbabo9(const int l, const int s, char* b);
1907extern int fcblic9(const int s, char* b);
1908extern int fcbinfo9(void* pvGbl, char* pcErr, const char* infstr, const int format, size_t* bufsiz, char** buffer, unsigned int* piLen);
1909extern 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);
1910extern int fcbnewmbr9(char* pcErr, void* hdl,const char* fmtstr,const char* state, const int stafmt, size_t* stasiz, char** stabuf);
1911extern int fcbgtn9(char* pcErr, void* hdl, const char** name);
1912extern int fcbstn9(char* pcErr, void* hdl, const char* name);
1913extern int fcbgfn9(char* pcErr, void* pvHdl, const int uiIndex, const char** ppName);
1914extern int fcbflush9(char* pcErr, void* hdl, const int final, const int force);
1915extern 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);
1916extern int fcbopenv9(void* pvGbl, char* pcErr, void* hdl, void**ppHdl, const char* cnvstr);
1917extern int fcbclosev9(char* pcErr, void* cnv);
1918extern 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);
1919extern int fcbunreadv9(char* pcErr, const void* ptr, size_t size, size_t count, void* hdl, void* cnv);
1920extern int fcbwritev9(char* pcErr, size_t* piRet, const void *ptr, size_t size, size_t count, void* hdl, void* cnv);
1921extern int fcbconv9(char* pcErr, void* cnv, size_t inplen, const void* inp, size_t* outlen, void* out);
1922extern int fcbrunv9(char* pcErr, void* cnv, size_t inplen, const void* inp, size_t* outlen, void* out);
1923extern int fcbfinv9(char* pcErr, void* cnv, size_t inplen, const void* inp, size_t* outlen, void* out);
1924extern int fcbconp9(char* pcErr, void* cnv, size_t inplen, const void* inp, size_t* outlen, void** out);
1925extern int fcbrunp9(char* pcErr, void* cnv, size_t inplen, const void* inp, size_t* outlen, void** out);
1926extern int fcbfinp9(char* pcErr, void* cnv, size_t inplen, const void* inp, size_t* outlen, void** out);
1927extern int fcbpos9(char* pcErr, void* hdl, const int64_t offset);
1928extern int fcbrewind9(char* pcErr, void* pvHdl);
1929extern int fcbcount9(char* pcErr, void* hdl, const int direction, const int what, const int kind, long long int* piCount);
1930
1931extern int fcbopnlog9(void* pvGbl, char* pcErr, void** loghdl, const char* logstr);
1932extern int fcbgetlog9(void* loghdl,const char** buffer);
1933extern int fcbclrlog9(void* loghdl);
1934extern int fcbclslog9(void* loghdl);
1935
1936extern void* fcbpopen(char* errtrc, const char* filstr, const char* fmtstr, char** state, const int64_t offset);
1937extern int64_t fcbpread(char* errtrc, void* hdl, void* ptr, size_t count, int64_t offset);
1938extern int64_t fcbpwrite(char* errtrc, void* hdl, const void* ptr, size_t count, int64_t offset);
1939extern 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);
1940extern int fcbpflush(char* errtrc, void* hdl, const int final, const int force);
1941extern int fcbpfiopar(void* hdl, void** ppFioPar);
1942extern uint64_t fcbpsize(char* errtrc, const char* filstr, const char* fmtstr);
1943
1944extern void* fcbopen3(const char* filstr, const char* fmtstr, char** state, const int number); /* only for internal tests*/
1945extern size_t fcbreadr(void* ptr, size_t size, size_t count, void* hdl, void* cnv, const int skip); /* only for record interface*/
1946extern int fcbisenvar(const int set);
1947extern char* fcbpcerr(void);
1948
1950/**********************************************************************/
1951
1953#endif /* INC_FLCBYT_H */
1954
1955#ifdef __cplusplus
1956 }
1957#endif
1960/**********************************************************************/
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 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.