FL4REC-API FLAM4 Record Interface (Windows and Linux conform with z/OS (MF-EDZ))

FL4REC.h
Go to the documentation of this file.
1
277#ifdef __cplusplus
278 extern "C" {
279#endif
280
281#ifndef INC_FL4REC_H
282#define INC_FL4REC_H
283
284#if defined(__ZOS__) && !defined(FL4REC_REMOTE_IMPL)
285
286# pragma linkage(FLMCLS, OS_NOSTACK)
287# pragma linkage(FLMFLU, OS_NOSTACK)
288# pragma linkage(FLMEME, OS_NOSTACK)
289# pragma linkage(FLMDEL, OS_NOSTACK)
290# pragma linkage(FLMFKY, OS_NOSTACK)
291# pragma linkage(FLMFRN, OS_NOSTACK)
292# pragma linkage(FLMGKY, OS_NOSTACK)
293# pragma linkage(FLMGRN, OS_NOSTACK)
294# pragma linkage(FLMGTR, OS_NOSTACK)
295# pragma linkage(FLMIKY, OS_NOSTACK)
296# pragma linkage(FLMLCR, OS_NOSTACK)
297# pragma linkage(FLMPKY, OS_NOSTACK)
298# pragma linkage(FLMUPD, OS_NOSTACK)
299# pragma linkage(FLMGET, OS_NOSTACK)
300# pragma linkage(FLMLOC, OS_NOSTACK)
301# pragma linkage(FLMOPN, OS_NOSTACK)
302# pragma linkage(FLMOPD, OS_NOSTACK)
303# pragma linkage(FLMOPF, OS_NOSTACK)
304# pragma linkage(FLMGHD, OS_NOSTACK)
305# pragma linkage(FLMPHD, OS_NOSTACK)
306# pragma linkage(FLMGSH, OS_NOSTACK)
307# pragma linkage(FLMPSH, OS_NOSTACK)
308# pragma linkage(FLMGUH, OS_NOSTACK)
309# pragma linkage(FLMPUH, OS_NOSTACK)
310# pragma linkage(FLMPWD, OS_NOSTACK)
311# pragma linkage(FLMPOS, OS_NOSTACK)
312# pragma linkage(FLMPUT, OS_NOSTACK)
313# pragma linkage(FLMQRY, OS_NOSTACK)
314# pragma linkage(FLMSET, OS_NOSTACK)
315# pragma linkage(FLMQSH, OS_NOSTACK)
316
317# define _flmkme _flmkme_h
318# define flmkme _flmkme
319# define flmcls FLMCLS
320# define flmflu FLMFLU
321# define flmeme FLMEME
322# define flmdel FLMDEL
323# define flmfky FLMFKY
324# define flmfrn FLMFRN
325# define flmgky FLMGKY
326# define flmgrn FLMGRN
327# define flmgtr FLMGTR
328# define flmiky FLMIKY
329# define flmlcr FLMLCR
330# define flmpky FLMPKY
331# define flmupd FLMUPD
332# define flmget FLMGET
333# define flmloc FLMLOC
334# define flmopn FLMOPN
335# define flmopd FLMOPD
336# define flmopf FLMOPF
337# define flmrdmod FLMRDMOD
338# define flmrdblh FLMRDBLH
339# define flmghd FLMGHD
340# define flmphd FLMPHD
341# define flmgsh FLMGSH
342# define flmpsh FLMPSH
343# define flmguh FLMGUH
344# define flmpuh FLMPUH
345# define flmpwd FLMPWD
346# define flmpos FLMPOS
347# define flmput FLMPUT
348# define flmqry FLMQRY
349# define flmset FLMSET
350# define flmqsh FLMQSH
351# define flmerr FLMERR
352# define flgetmod FLGETMOD
353# define flsetcmp FLSETCMP
354# define flgetenc FLGETENC
355# define flsetenc FLSETENC
356# define flgetsmd FLGETSMD
357# define flgetsnr FLGETSNR
358# define flgetssz FLGETSSZ
359# define flsetsmd FLSETSMD
360# define flsetsnr FLSETSNR
361# define flsetssz FLSETSSZ
362# define flsetpsp FLSETPSP
363# define flsetssp FLSETSSP
364# define flsetvol FLSETVOL
365# define flsetunt FLSETUNT
366# define flsetdcl FLSETDCL
367# define flsetscl FLSETSCL
368# define flsetmcl FLSETMCL
369# define flsetdst FLSETDST
370# define flsetdnr FLSETDNR
371# define flsetdab FLSETDAB
372# define flsetsci FLSETSCI
373
374#else
375
376# define flmkme _flmkme1
377# define flmcls _flmcls1
378# define flmflu _flmflu1
379# define flmget _flmget1
380# define flmloc _flmloc1
381# define flmopn _flmopn1
382# define flmopd _flmopd1
383# define flmopf _flmopf1
384# define flmrdmod _flmrdmod1
385# define flmrdblh _flmrdblh1
386# define flmghd _flmghd1
387# define flmphd _flmphd1
388# define flmgsh _flmgsh1
389# define flmpsh _flmpsh1
390# define flmguh _flmguh1
391# define flmpuh _flmpuh1
392# define flmpwd _flmpwd1
393# define flmpos _flmpos1
394# define flmput _flmput1
395# define flmqry _flmqry1
396# define flmset _flmset1
397# define flmqsh _flmqsh1
398# define flmerr _flmerr1
399# define flmdel _flmdel1
400# define flmfky _flmfky1
401# define flmfrn _flmfrn1
402# define flmgky _flmgky1
403# define flmgrn _flmgrn1
404# define flmgtr _flmgtr1
405# define flmiky _flmiky1
406# define flmlcr _flmlcr1
407# define flmpky _flmpky1
408# define flmupd _flmupd1
409# define flgetmod _flgetmod1
410# define flgetcmp _flgetcmp1
411# define flgetenc _flgetenc1
412# define flsetenc _flsetenc1
413# define flgetsmd _flgetsmd1
414# define flgetsnr _flgetsnr1
415# define flgetssz _flgetssz1
416# define flsetsmd _flsetsmd1
417# define flsetsnr _flsetsnr1
418# define flsetssz _flsetssz1
419# define flsetpsp _flsetpsp1
420# define flsetssp _flsetssp1
421# define flsetvol _flsetvol1
422# define flsetunt _flsetunt1
423# define flsetdcl _flsetdcl1
424# define flsetscl _flsetscl1
425# define flsetmcl _flsetmcl1
426# define flsetdst _flsetdst1
427# define flsetdnr _flsetdnr1
428# define flsetdab _flsetdab1
429# define flsetsci _flsetsci1
430
431# define flmkme2 _flmkme2
432# define flmcls2 _flmcls2
433# define flmflu2 _flmflu2
434# define flmget2 _flmget2
435# define flmloc2 _flmloc2
436# define flmopn2 _flmopn2
437# define flmopd2 _flmopd2
438# define flmopf2 _flmopf2
439# define flmrdmod2 _flmrdmod2
440# define flmrdblh2 _flmrdblh2
441# define flmghd2 _flmghd2
442# define flmphd2 _flmphd2
443# define flmgsh2 _flmgsh2
444# define flmpsh2 _flmpsh2
445# define flmguh2 _flmguh2
446# define flmpuh2 _flmpuh2
447# define flmpwd2 _flmpwd2
448# define flmpos2 _flmpos2
449# define flmput2 _flmput2
450# define flmqry2 _flmqry2
451# define flmset2 _flmset2
452# define flmqsh2 _flmqsh2
453# define flgetrn2 _flgetrn2
454# define flgetmod2 _flgetmod2
455# define flgetcmp2 _flgetcmp2
456# define flgetenc2 _flgetenc2
457# define flsetenc2 _flsetenc2
458# define flgetsmd2 _flgetsmd2
459# define flgetsnr2 _flgetsnr2
460# define flgetssz2 _flgetssz2
461# define flsetsmd2 _flsetsmd2
462# define flsetsnr2 _flsetsnr2
463# define flsetssz2 _flsetssz2
464# define flsetpsp2 _flsetpsp2
465# define flsetssp2 _flsetssp2
466# define flsetvol2 _flsetvol2
467# define flsetunt2 _flsetunt2
468# define flsetdcl2 _flsetdcl2
469# define flsetscl2 _flsetscl2
470# define flsetmcl2 _flsetmcl2
471# define flsetdst2 _flsetdst2
472# define flsetdnr2 _flsetdnr2
473# define flsetdab2 _flsetdab2
474# define flsetsci2 _flsetsci2
475# define flmerr2 _flmerr2
476
477#endif
478
481/**********************************************************************/
488#ifndef INC_TYPDEF_H
489 typedef char C08;
490 typedef signed char I08;
491 typedef unsigned char U08;
492 typedef signed short I16;
493 typedef unsigned short U16;
494 typedef signed int I32;
495 typedef unsigned int U32;
496 typedef signed long long int I64;
497 typedef unsigned long long int U64;
498#endif
499
500/**********************************************************************/
501
505 enum flmset_parameter {
506 FLMSET_SPLITMODE = 1,
507 FLMSET_SPLITNUMBER = 2,
508 FLMSET_SPLITSIZE = 3,
509 FLMSET_PRIMARY_SPACE = 4,
510 FLMSET_SECONDARY_SPACE = 5,
511 FLMSET_VOLUME = 6,
512 FLMSET_UNIT = 7,
513 FLMSET_DATA_CLASS = 8,
514 FLMSET_STORAGE_CLASS = 9,
515 FLMSET_MANAGEMENT_CLASS = 10,
516 FLMSET_DISPOSTION_STATUS = 11,
517 FLMSET_DISPOSITION_NORMAL = 12,
518 FLMSET_DISPOSITION_ABNORMAL = 13,
519 FLMSET_CRYPTOMODE =2001,
520 FLMSET_SECUREINFO =2002
521};
522
526 enum flmget_parameter {
527 FLMGET_SPLITMODE = 1,
528 FLMGET_SPLITNUMBER = 2,
529 FLMGET_SPLITSIZE = 3,
530 FLMGET_CRYPTOMODE =2001,
531 FLMGET_SECUREINFO =2002,
532 FLMGET_MODE =4001,
533 FLMGET_RLCOMPMODE =6001
534};
535
536/******************************************************************************/
537
541 typedef struct key_element {
543
544 U32 KEYPOS;
546 U32 KEYLEN;
548
549 U32 KEYTYP;
550}FKE;
551
558 typedef struct key_description {
560
561 U32 KEYFLG;
563
564 U32 KEYCNT;
566 FKE KEYELM[8];
567}FKD;
568
570/**********************************************************************/
583 extern const char* pcFl4RecVersion(const int l, const int s, char* b);
584
592 extern const char* pcFl4RecAbout(const int l, const int s, char* b);
593
621 extern void flmopn(
622 C08** flmid,
623 I32* rc,
624 I32* lstpar,
625 I32* opmode,
626 C08* ddname,
627 I32* statis);
628
654 extern void flmopd(
655 C08** flmid,
656 I32* rc,
657 I32* lstpar,
658 I32* namelen,
659 C08* dsname,
660 I32* org,
661 I32* recf,
662 I32* recs,
663 U08* recdel,
664 FKD* keydesc,
665 I32* blks,
666 I32* cldisp,
667 I32* dev);
668
697 extern void flmopf(
698 C08** flmid,
699 I32* rc,
700 I32* version,
701 I32* flcode,
702 I32* modus,
703 I32* maxbuf,
704 I32* header,
705 I32* maxrec,
706 FKD* keydesc,
707 I32* blkmode,
708 U08* exk20,
709 U08* exd20);
710
767 extern void flmflu(
768 C08** flmid,
769 I32* rc,
770 U32* cputime,
771 U32* recin,
772 U32* bytin,
773 U32* bytoflin,
774 U32* recout,
775 U32* bytout,
776 U32* bytoflout);
777
812 extern void flmeme(
813 C08** flmid,
814 I32* rc,
815 U32* cputime,
816 U32* recin,
817 U32* bytin,
818 U32* bytoflin,
819 U32* recout,
820 U32* bytout,
821 U32* bytoflout,
822 U08* membermac);
823
837 extern void flmdel(
838 C08** flmid,
839 I32* rc);
840
867 extern void flmfky(
868 C08** flmid,
869 I32* rc,
870 I32* keylen,
871 U08* record,
872 I32* checkmod);
873
895 extern void flmfrn(
896 C08** flmid,
897 I32* rc,
898 I32* recno,
899 I32* checkmod);
900
919 extern void flmgky(
920 C08** flmid,
921 I32* rc,
922 I32* reclen,
923 U08* record,
924 I32* buflen);
925
953 extern void flmgrn(
954 C08** flmid,
955 I32* rc,
956 I32* reclen,
957 U08* record,
958 I32* buflen,
959 I32* recno);
960
985 extern void flmgtr(
986 C08** flmid,
987 I32* rc,
988 I32* reclen,
989 U08* record,
990 I32* buflen);
991
1009 extern void flmiky(
1010 C08** flmid,
1011 I32* rc,
1012 I32* reclen,
1013 U08* record);
1014
1034 extern void flmlcr(
1035 C08** flmid,
1036 I32* rc,
1037 I32* reclen,
1038 U08** recptr);
1039
1058 extern void flmpky(
1059 C08** flmid,
1060 I32* rc,
1061 I32* reclen,
1062 U08* record);
1063
1081 extern void flmupd(
1082 C08** flmid,
1083 I32* rc,
1084 I32* reclen,
1085 U08* record);
1086
1146 extern void flmcls(
1147 C08** flmid,
1148 I32* rc,
1149 U32* cputime,
1150 U32* recin,
1151 U32* bytin,
1152 U32* bytoflin,
1153 U32* recout,
1154 U32* bytout,
1155 U32* bytoflout);
1156
1224 extern void flmghd(
1225 C08** flmid,
1226 I32* rc,
1227 I32* namelen,
1228 C08* filename,
1229 I32* org,
1230 I32* recf,
1231 I32* recs,
1232 U08* recdel,
1233 FKD* keydesc,
1234 I32* blks,
1235 I32* prnctr,
1236 C08* system);
1237
1277 extern void flmphd(
1278 C08** flmid,
1279 I32* rc,
1280 I32* namelen,
1281 C08* filename,
1282 I32* org,
1283 I32* recf,
1284 I32* recs,
1285 U08* recdel,
1286 FKD* keydesc,
1287 I32* blks,
1288 I32* prnctr,
1289 C08* system,
1290 I32* cont);
1291
1311 extern void flmguh(
1312 C08** flmid,
1313 I32* rc,
1314 I32* hdrlen,
1315 C08* header);
1316
1340 extern void flmpuh(
1341 C08** flmid,
1342 I32* rc,
1343 I32* hdrlen,
1344 C08* header);
1345
1363 extern void flmpwd(
1364 C08** flmid,
1365 I32* rc,
1366 U32* pwdlen,
1367 C08* passwd);
1368
1369
1394 extern void flmkme(
1395 C08** flmid,
1396 I32* rc,
1397 U32* kmclen,
1398 U08* kmc,
1399 const U32* liblen,
1400 const C08* lib,
1401 const U32* fuclen,
1402 const C08* fuc,
1403 const U32* parlen,
1404 const C08* par,
1405 U32* msglen,
1406 C08* msg,
1407 U32* inflen,
1408 C08* inf);
1410 extern void _flmkme(
1411 C08** flmid,
1412 I32* rc,
1413 U32* kmclen,
1414 U08* kmc,
1415 const U32* liblen,
1416 const C08* lib,
1417 const U32* fuclen,
1418 const C08* fuc,
1419 const U32* parlen,
1420 const C08* par,
1421 U32* msglen,
1422 C08* msg,
1423 U32* inflen,
1424 C08* inf);
1469 extern void flmpos(
1470 C08** flmid,
1471 I32* rc,
1472 I32* pos);
1473
1507 extern void flmget(
1508 C08** flmid,
1509 I32* rc,
1510 I32* reclength,
1511 U08* record,
1512 I32* buflength);
1513
1532 extern void flmloc(
1533 C08** flmid,
1534 I32* rc,
1535 I32* reclength,
1536 U08** record);
1537
1553 extern void flmput(
1554 C08** flmid,
1555 I32* rc,
1556 I32* reclength,
1557 U08* record );
1558
1568 extern void flmerr(
1569 I32* rc,
1570 I32* msglen,
1571 const C08** errmsg);
1572
1609 extern void flmqry(
1610 C08** flmid,
1611 I32* rc,
1612 I32* parameter,
1613 void* value);
1614
1650 extern void flmset(
1651 C08** flmid,
1652 I32* rc,
1653 I32* parameter,
1654 void* value);
1655
1657/**********************************************************************/
1658
1661 extern void flmrdmod(C08** flmid,I32* rc,I32* modus);
1662 extern void flmrdblh(C08** flmid,I32* rc,I32* hdrtyp,I32* modus);
1663 extern void flmgsh(C08** flmid,I32* rc,I32* hdrlen,C08* header);
1664 extern void flmpsh(C08** flmid,I32* rc,I32* hdrlen,C08* header,I32* cont);
1665 extern void flmqsh(C08** flmid,C08* system,C08* header,I32* filtyp,I64* filsiz,I32* dirblk);
1666 extern void flgetmod(C08** flmid,I32* rc,I32* mode);
1667 extern void flgetenc(C08** flmid,I32* rc,I32* cmpmod,I32* encmod);
1668 extern void flgetcmp(C08** flmid,I32* rc,I32* cmpmod);
1669 extern void flsetenc(C08** flmid,I32* rc,I32* cmpmod,I32* encmod);
1670 extern void flgetsmd(C08** flmid,I32* rc,I32* splmod);
1671 extern void flgetsnr(C08** flmid,I32* rc,I32* splnbr);
1672 extern void flgetssz(C08** flmid,I32* rc,I32* splsiz);
1673 extern void flsetsmd(C08** flmid,I32* rc,I32* splmod);
1674 extern void flsetsnr(C08** flmid,I32* rc,I32* splnbr);
1675 extern void flsetssz(C08** flmid,I32* rc,I32* splsiz);
1676 extern void flsetpsp(C08** flmid,I32* rc,I32* prispc);
1677 extern void flsetssp(C08** flmid,I32* rc,I32* secspc);
1678 extern void flsetvol(C08** flmid,I32* rc,C08* volser);
1679 extern void flsetunt(C08** flmid,I32* rc,C08* unit);
1680 extern void flsetdcl(C08** flmid,I32* rc,C08* datcls);
1681 extern void flsetscl(C08** flmid,I32* rc,C08* srgcls);
1682 extern void flsetmcl(C08** flmid,I32* rc,C08* mgmcls);
1683 extern void flsetdst(C08** flmid,I32* rc,I32* dspsta);
1684 extern void flsetdnr(C08** flmid,I32* rc,I32* dspnrm);
1685 extern void flsetdab(C08** flmid,I32* rc,I32* dspabo);
1686 extern void flsetsci(C08** flmid,I32* rc,I32* secinf);
1687
1688/**********************************************************************/
1689
1690#ifdef FL4REC_VERSION2
1691
1692 extern void flmopn2(
1693 void **hdl,
1694 I32 *rc,
1695 I32 *lstpar,
1696 I32 *opmode,
1697 C08 *filename,
1698 void *connection,
1699 I32 *statis,
1700 void *pvFlmLog,
1701 void *pvFlmTrc);
1702
1703 extern void flmopd2(
1704 void **hdl,
1705 I32 *rc,
1706 I32 *lstpar,
1707 I32 *namelen,
1708 C08 *filename,
1709 I32 *org,
1710 I32 *recf,
1711 I32 *recs,
1712 U08 *recdel,
1713 FKD *keydesc,
1714 I32 *blks,
1715 I32 *cldisp,
1716 I32 *dev);
1717
1718 extern void flmopf2(
1719 void **hdl,
1720 I32 *rc,
1721 I32 *version,
1722 I32 *flcode,
1723 I32 *modus,
1724 I32 *maxbuf,
1725 I32 *header,
1726 I32 *maxrec,
1727 FKD *keydesc,
1728 I32 *blkmode,
1729 U08 *exk20,
1730 U08 *exd20);
1731
1732 extern void flmflu2(
1733 void **hdl,
1734 I32 *rc,
1735 U32 *cputime,
1736 U32 *recin,
1737 U64 *piBytCnt,
1738 U32 *recout,
1739 U64 *piCmpByt);
1740
1741 extern void flmeme2(
1742 void **hdl,
1743 I32 *rc,
1744 U32 *cputime,
1745 U32 *recin,
1746 U64 *piBytCnt,
1747 U32 *recout,
1748 U64 *piCmpByt);
1749
1750 extern void flmdel2(
1751 void** hdl,
1752 I32* rc);
1753
1754 extern void flmfky2(
1755 void** hdl,
1756 I32* rc,
1757 I32* keylen,
1758 U08* record,
1759 I32* checkmod);
1760
1761 extern void flmfrn2(
1762 void** hdl,
1763 I32* rc,
1764 I32* recno,
1765 I32* checkmod);
1766
1767 extern void flmgky2(
1768 void** hdl,
1769 I32* rc,
1770 I32* reclen,
1771 U08* record,
1772 I32* buflen);
1773
1774 extern void flmgrn2(
1775 void** hdl,
1776 I32* rc,
1777 I32* reclen,
1778 U08* record,
1779 I32* buflen,
1780 I32* recno);
1781
1782 extern void flmgtr2(
1783 void** hdl,
1784 I32* rc,
1785 I32* reclen,
1786 U08* record,
1787 I32* buflen);
1788
1789 extern void flmiky2(
1790 void** hdl,
1791 I32* rc,
1792 I32* reclen,
1793 U08* record);
1794
1795 extern void flmlcr2(
1796 void** hdl,
1797 I32* rc,
1798 I32* reclen,
1799 U08** recptr);
1800
1801 extern void flmpky2(
1802 void** hdl,
1803 I32* rc,
1804 I32* reclen,
1805 U08* record);
1806
1807 extern void flmupd2(
1808 void** hdl,
1809 I32* rc,
1810 I32* reclen,
1811 U08* record);
1812
1813 extern void flmcls2(
1814 void **hdl,
1815 I32 *rc,
1816 U32 *cputime,
1817 U32 *recin,
1818 U64* piBytCnt,
1819 U32 *recout,
1820 U64* piCmpByt,
1821 const U32 isWrite,
1822 const C08* pcFilNam,
1823 const U32 isRemove,
1824 const U32 isFilDmy,
1825 const I64 siModTim,
1826 const I64 siAcsTim,
1827 const U32 isExtAtr,
1828 const U32 uiExtAtr);
1829
1830 extern void flmghd2(
1831 void **hdl,
1832 I32 *rc,
1833 I32 *namelen,
1834 C08 *filename,
1835 I32 *org,
1836 I32 *recf,
1837 I32 *recs,
1838 U08 *recdel,
1839 FKD *keydesc,
1840 I32 *blks,
1841 I32 *prnctr,
1842 C08 *system);
1843
1844 extern void flmphd2(
1845 void **hdl,
1846 I32 *rc,
1847 I32 *namelen,
1848 C08 *filename,
1849 I32 *org,
1850 I32 *recf,
1851 I32 *recs,
1852 U08 *recdel,
1853 FKD *keydesc,
1854 I32 *blks,
1855 I32 *prnctr,
1856 C08 *system,
1857 I32 *cont);
1858
1859 extern void flmguh2(
1860 void **hdl,
1861 I32 *rc,
1862 I32 *hdrlen,
1863 C08 *header);
1864
1865 extern void flmpuh2(
1866 void **hdl,
1867 I32 *rc,
1868 I32 *hdrlen,
1869 C08 *header);
1870
1871 extern void flmpwd2(
1872 void **hdl,
1873 I32 *rc,
1874 U32 *pwdlen,
1875 C08 *passwd);
1876
1877 extern void flmkme2(
1878 void **hdl,
1879 I32 *rc,
1880 U32 *kmclen,
1881 U08 *kmc,
1882 const U32 *liblen,
1883 const C08 *lib,
1884 const U32 *fuclen,
1885 const C08 *fuc,
1886 const U32 *parlen,
1887 const C08 *par,
1888 U32 *msglen,
1889 C08 *msg,
1890 U32 *inflen,
1891 C08 *inf);
1892
1893 extern void flmpos2(
1894 void **hdl,
1895 I32 *rc,
1896 I32 *pos);
1897
1898 extern void flmget2(
1899 void **hdl,
1900 I32 *rc,
1901 I32 *reclength,
1902 U08 *record,
1903 I32 *buflength);
1904
1905 extern void flmloc2(
1906 void **hdl,
1907 I32 *rc,
1908 I32 *reclength,
1909 U08 **record);
1910
1911 extern void flmput2(
1912 void **hdl,
1913 I32 *rc,
1914 I32 *reclength,
1915 U08 *record);
1916
1917 extern void flmrdmod2(
1918 void **hdl,
1919 I32 *rc,
1920 I32 *modus);
1921
1922 extern void flmrdblh2(
1923 void **hdl,
1924 I32 *rc,
1925 I32 *hdrtyp,
1926 I32 *modus);
1927
1928 extern void flmgsh2(
1929 void **hdl,
1930 I32 *rc,
1931 I32 *hdrlen,
1932 C08 *header);
1933
1934 extern void flmpsh2(
1935 void **hdl,
1936 I32 *rc,
1937 I32 *hdrlen,
1938 C08 *header,
1939 I32 *cont);
1940
1941 extern void flmqry2(
1942 void **hdl,
1943 I32 *rc,
1944 I32 *parameter,
1945 void *value);
1946
1947 extern void flmset2(
1948 void **hdl,
1949 I32 *rc,
1950 I32 *parameter,
1951 void *value);
1952
1953 extern void flmqsh2(
1954 void **hdl,
1955 C08 *system,
1956 C08 *header,
1957 I32 *filtyp,
1958 I64 *filsiz,
1959 I32 *dirblk);
1960
1961 extern const char* flgetrn2(void **hdl);
1962
1963 extern void flgetmod2(
1964 void **hdl,
1965 I32 *rc,
1966 I32 *mode);
1967
1968 extern void flgetenc2(
1969 void **hdl,
1970 I32 *rc,
1971 I32 *cmpmod,
1972 I32 *encmod);
1973
1974 extern void flgetcmp2(
1975 void **hdl,
1976 I32 *rc,
1977 I32 *cmpmod);
1978
1979 extern void flsetenc2(
1980 void **hdl,
1981 I32 *rc,
1982 I32 *cmpmod,
1983 I32 *encmod);
1984
1985 extern void flsetsci2(
1986 void **hdl,
1987 I32 *rc,
1988 I32 *secinf);
1989
1990 extern void flgetsmd2(
1991 void **hdl,
1992 I32 *rc,
1993 I32 *splmod);
1994
1995 extern void flgetsnr2(
1996 void **hdl,
1997 I32 *rc,
1998 I32 *splnbr);
1999
2000 extern void flgetssz2(
2001 void **hdl,
2002 I32 *rc,
2003 I32 *splsiz);
2004
2005 extern void flsetsmd2(
2006 void **hdl,
2007 I32 *rc,
2008 I32 *splmod);
2009
2010 extern void flsetsnr2(
2011 void **hdl,
2012 I32 *rc,
2013 I32 *splnbr);
2014
2015 extern void flsetssz2(
2016 void **hdl,
2017 I32 *rc,
2018 I32 *splsiz);
2019
2020 extern void flsetpsp2(
2021 void **hdl,
2022 I32 *rc,
2023 I32 *prispc);
2024
2025 extern void flsetssp2(
2026 void **hdl,
2027 I32 *rc,
2028 I32 *secspc);
2029
2030 extern void flsetvol2(
2031 void **hdl,
2032 I32 *rc,
2033 C08 *volser);
2034
2035 extern void flsetunt2(
2036 void **hdl,
2037 I32 *rc,
2038 C08 *unit);
2039
2040 extern void flsetdcl2(
2041 void **hdl,
2042 I32 *rc,
2043 C08 *datcls);
2044
2045 extern void flsetscl2(
2046 void **hdl,
2047 I32 *rc,
2048 C08 *srgcls);
2049
2050 extern void flsetmcl2(
2051 void **hdl,
2052 I32 *rc,
2053 C08 *mgmcls);
2054
2055 extern void flsetdst2(
2056 void **hdl,
2057 I32 *rc,
2058 I32 *dspsta);
2059
2060 extern void flsetdnr2(
2061 void **hdl,
2062 I32 *rc,
2063 I32 *dspnrm);
2064
2065 extern void flsetdab2(
2066 void **hdl,
2067 I32 *rc,
2068 I32 *dspabo);
2069
2070 extern void* flgetfil2(void** hdl);
2071
2072 extern C08* flprncon2(void** hdl, const U32 uiSize, C08* pcBuffer);
2073
2074 extern void flmerr2(
2075 void **hdl,
2076 I32 *rc,
2077 I32 *msglen,
2078 const C08 **errmsg);
2079
2080#ifdef __DEBUG__
2081 extern int flchkopncls2(void);
2082#endif
2083
2084#endif /*FL4REC_VERSION2*/
2085/**********************************************************************/
2086
2087#endif /* INC_FL4REC_H */
2088
2089#ifdef __cplusplus
2090 }
2091#endif
2094/**********************************************************************/
flmqry
void flmqry(C08 **flmid, I32 *rc, I32 *parameter, void *value)
Query extended FLAMFILE attributes.
flmiky
void flmiky(C08 **flmid, I32 *rc, I32 *reclen, U08 *record)
Insert record with key (only z/OS)
flmput
void flmput(C08 **flmid, I32 *rc, I32 *reclength, U08 *record)
Put record.
flmlcr
void flmlcr(C08 **flmid, I32 *rc, I32 *reclen, U08 **recptr)
Locate previous record (only z/OS)
flmloc
void flmloc(C08 **flmid, I32 *rc, I32 *reclength, U08 **record)
Locate record.
flmeme
void flmeme(C08 **flmid, I32 *rc, U32 *cputime, U32 *recin, U32 *bytin, U32 *bytoflin, U32 *recout, U32 *bytout, U32 *bytoflout, U08 *membermac)
End member in a FLAMFILE (only z/OS)
flmcls
void flmcls(C08 **flmid, I32 *rc, U32 *cputime, U32 *recin, U32 *bytin, U32 *bytoflin, U32 *recout, U32 *bytout, U32 *bytoflout)
Close FLAMFILE.
flmpuh
void flmpuh(C08 **flmid, I32 *rc, I32 *hdrlen, C08 *header)
Put user header.
flmgtr
void flmgtr(C08 **flmid, I32 *rc, I32 *reclen, U08 *record, I32 *buflen)
Get previous record (only z/OS)
flmset
void flmset(C08 **flmid, I32 *rc, I32 *parameter, void *value)
Set extended FLAMFILE attributes.
pcFl4RecAbout
const char * pcFl4RecAbout(const int l, const int s, char *b)
pcFl4RecVersion
const char * pcFl4RecVersion(const int l, const int s, char *b)
flmfrn
void flmfrn(C08 **flmid, I32 *rc, I32 *recno, I32 *checkmod)
Find record number (only z/OS)
flmfky
void flmfky(C08 **flmid, I32 *rc, I32 *keylen, U08 *record, I32 *checkmod)
Find record using a key (only z/OS)
flmpky
void flmpky(C08 **flmid, I32 *rc, I32 *reclen, U08 *record)
Put record by key (only z/OS)
flmgky
void flmgky(C08 **flmid, I32 *rc, I32 *reclen, U08 *record, I32 *buflen)
Get record addressed by key (only z/OS).
flmget
void flmget(C08 **flmid, I32 *rc, I32 *reclength, U08 *record, I32 *buflength)
Get next record.
flmopf
void flmopf(C08 **flmid, I32 *rc, I32 *version, I32 *flcode, I32 *modus, I32 *maxbuf, I32 *header, I32 *maxrec, FKD *keydesc, I32 *blkmode, U08 *exk20, U08 *exd20)
Set/Get FLAMFILE attributes.
flmpwd
void flmpwd(C08 **flmid, I32 *rc, U32 *pwdlen, C08 *passwd)
Sets a password for encryption/decryption while compressing/decompressing.
flmghd
void flmghd(C08 **flmid, I32 *rc, I32 *namelen, C08 *filename, I32 *org, I32 *recf, I32 *recs, U08 *recdel, FKD *keydesc, I32 *blks, I32 *prnctr, C08 *system)
Get file header.
flmguh
void flmguh(C08 **flmid, I32 *rc, I32 *hdrlen, C08 *header)
Get user header.
flmdel
void flmdel(C08 **flmid, I32 *rc)
Delete last record (only z/OS)
flmphd
void flmphd(C08 **flmid, I32 *rc, I32 *namelen, C08 *filename, I32 *org, I32 *recf, I32 *recs, U08 *recdel, FKD *keydesc, I32 *blks, I32 *prnctr, C08 *system, I32 *cont)
Put file header.
flmupd
void flmupd(C08 **flmid, I32 *rc, I32 *reclen, U08 *record)
Update record (only z/OS)
flmpos
void flmpos(C08 **flmid, I32 *rc, I32 *pos)
Set read position.
flmopd
void flmopd(C08 **flmid, I32 *rc, I32 *lstpar, I32 *namelen, C08 *dsname, I32 *org, I32 *recf, I32 *recs, U08 *recdel, FKD *keydesc, I32 *blks, I32 *cldisp, I32 *dev)
Set/Get FLAMFILE organisation attributes.
flmflu
void flmflu(C08 **flmid, I32 *rc, U32 *cputime, U32 *recin, U32 *bytin, U32 *bytoflin, U32 *recout, U32 *bytout, U32 *bytoflout)
Flush FLAMFILE.
flmerr
void flmerr(I32 *rc, I32 *msglen, const C08 **errmsg)
Provides an error message.
flmkme
void flmkme(C08 **flmid, I32 *rc, U32 *kmclen, U08 *kmc, const U32 *liblen, const C08 *lib, const U32 *fuclen, const C08 *fuc, const U32 *parlen, const C08 *par, U32 *msglen, C08 *msg, U32 *inflen, C08 *inf)
Load and use FKME.
flmgrn
void flmgrn(C08 **flmid, I32 *rc, I32 *reclen, U08 *record, I32 *buflen, I32 *recno)
Get record by number (only z/OS)
flmopn
void flmopn(C08 **flmid, I32 *rc, I32 *lstpar, I32 *opmode, C08 *ddname, I32 *statis)
Open a FLAMFILE.
I08
signed char I08
signed 8 bit integer
Definition: FL4REC.h:490
U08
unsigned char U08
unsigned 8 bit integer
Definition: FL4REC.h:491
U64
unsigned long long int U64
signed 64 bit integer
Definition: FL4REC.h:497
I32
signed int I32
signed 32 bit integer
Definition: FL4REC.h:494
FKE
struct key_element FKE
Defines a key element for index sequential access methods (VSAM-KSDS)
I64
signed long long int I64
signed 64 bit integer
Definition: FL4REC.h:496
flmset_parameter
flmset_parameter
The flmset_parameter enum defines constants for the flmset() function.
Definition: FL4REC.h:505
flmget_parameter
flmget_parameter
The flmget_parameter enum defines constants for the flmqry() function.
Definition: FL4REC.h:526
FKD
struct key_description FKD
Key elements for index sequential data access.
I16
signed short I16
signed 16 bit integer
Definition: FL4REC.h:492
C08
char C08
8 bit character
Definition: FL4REC.h:489
U32
unsigned int U32
unsigned 32 bit integer
Definition: FL4REC.h:495
U16
unsigned short U16
unsigned 16 bit integer
Definition: FL4REC.h:493
FLMSET_SPLITNUMBER
@ FLMSET_SPLITNUMBER
split number 2 - 4
Definition: FL4REC.h:507
FLMSET_VOLUME
@ FLMSET_VOLUME
volume name 1-8 character
Definition: FL4REC.h:511
FLMSET_SPLITMODE
@ FLMSET_SPLITMODE
split mode 0: none, 1: serial, 2: parallel
Definition: FL4REC.h:506
FLMSET_DISPOSTION_STATUS
@ FLMSET_DISPOSTION_STATUS
disposition status 0: Default, 1: NEW, 2: OLD, 3: SHR, 4: MOD
Definition: FL4REC.h:516
FLMSET_SPLITSIZE
@ FLMSET_SPLITSIZE
split size in MiB 1 - 4095
Definition: FL4REC.h:508
FLMSET_STORAGE_CLASS
@ FLMSET_STORAGE_CLASS
storage class name 1 - 8 character
Definition: FL4REC.h:514
FLMSET_PRIMARY_SPACE
@ FLMSET_PRIMARY_SPACE
size of primary in MiB 1 - 4095
Definition: FL4REC.h:509
FLMSET_DISPOSITION_ABNORMAL
@ FLMSET_DISPOSITION_ABNORMAL
abnormal disposition 0: Default, 1: DELETE, 2: KEEP, 3: CATLG, 4: UNCATLG
Definition: FL4REC.h:518
FLMSET_DATA_CLASS
@ FLMSET_DATA_CLASS
data class name 1 - 8 character
Definition: FL4REC.h:513
FLMSET_MANAGEMENT_CLASS
@ FLMSET_MANAGEMENT_CLASS
management class name 1 - 8 character
Definition: FL4REC.h:515
FLMSET_SECUREINFO
@ FLMSET_SECUREINFO
secure info 0: no, 1: yes, 2: ignore, 3: member
Definition: FL4REC.h:520
FLMSET_SECONDARY_SPACE
@ FLMSET_SECONDARY_SPACE
size of secondary space in MiB 1 - 4095
Definition: FL4REC.h:510
FLMSET_DISPOSITION_NORMAL
@ FLMSET_DISPOSITION_NORMAL
normal disposition 0: Default, 1: DELETE, 2: KEEP, 3: CATLG, 4: UNCATLG
Definition: FL4REC.h:517
FLMSET_CRYPTOMODE
@ FLMSET_CRYPTOMODE
mode of encryption 0: none, 1: FLAM, 2: AES
Definition: FL4REC.h:519
FLMSET_UNIT
@ FLMSET_UNIT
unit name 1 - 8 character
Definition: FL4REC.h:512
FLMGET_SECUREINFO
@ FLMGET_SECUREINFO
secure info 0: no, 1: yes, 2: ignore, 3: member
Definition: FL4REC.h:531
FLMGET_SPLITNUMBER
@ FLMGET_SPLITNUMBER
split number 2 - 4
Definition: FL4REC.h:528
FLMGET_SPLITSIZE
@ FLMGET_SPLITSIZE
split size in MiB 1 - 4095
Definition: FL4REC.h:529
FLMGET_SPLITMODE
@ FLMGET_SPLITMODE
split mode 0: none, 1: serial, 2: parallel
Definition: FL4REC.h:527
FLMGET_RLCOMPMODE
@ FLMGET_RLCOMPMODE
real compression mode 3: ADC 8: ZEDC
Definition: FL4REC.h:533
FLMGET_CRYPTOMODE
@ FLMGET_CRYPTOMODE
mode of encryption 0: none, 1: FLAM, 2: AES
Definition: FL4REC.h:530
FLMGET_MODE
@ FLMGET_MODE
general mode 0: deco/read 1: comp/write
Definition: FL4REC.h:532
key_description
Key elements for index sequential data access.
Definition: FL4REC.h:558
key_description::KEYFLG
U32 KEYFLG
Key flag.
Definition: FL4REC.h:561
key_description::KEYELM
FKE KEYELM[8]
Array of key elements.
Definition: FL4REC.h:566
key_description::KEYCNT
U32 KEYCNT
Number of key elements.
Definition: FL4REC.h:564
key_element
Defines a key element for index sequential access methods (VSAM-KSDS)
Definition: FL4REC.h:541
key_element::KEYTYP
U32 KEYTYP
Data type:
Definition: FL4REC.h:549
key_element::KEYLEN
U32 KEYLEN
Length of the key in the record (minimum 1, default 8)
Definition: FL4REC.h:546
key_element::KEYPOS
U32 KEYPOS
Key position.
Definition: FL4REC.h:544