FL4REC-API
FLAM4 Record Interface (Windows and Linux conform with z/OS (MF-EDZ)) Version: 5.2.1-42969
FL4REC.h
Go to the documentation of this file.
1
275
276#ifndef INC_FL4REC_H
277#define INC_FL4REC_H
278
280#ifdef __cplusplus
281 extern "C" {
282#endif
283
284/* Types required for LP64 extern declarations below */
285#ifndef INC_TYPDEF_H
286# define INC_TYPDEF_H
287 typedef char C08;
288 typedef signed char I08;
289 typedef unsigned char U08;
290 typedef signed short I16;
291 typedef unsigned short U16;
292 typedef signed int I32;
293 typedef unsigned int U32;
294 typedef signed long long int I64;
295 typedef unsigned long long int U64;
296#endif
297
298#if defined(__ZOS__)
299
300# ifndef __LP64__
301
302/* ------------------------------------------------------------------ */
303/* 31-BIT z/OS: direct linkage to FLAM4 LE-less assembler entries */
304/* ------------------------------------------------------------------ */
305
306# pragma linkage(FLMCLS, OS_NOSTACK)
307# pragma linkage(FLMFLU, OS_NOSTACK)
308# pragma linkage(FLMEME, OS_NOSTACK)
309# pragma linkage(FLMDEL, OS_NOSTACK)
310# pragma linkage(FLMFKY, OS_NOSTACK)
311# pragma linkage(FLMFRN, OS_NOSTACK)
312# pragma linkage(FLMGKY, OS_NOSTACK)
313# pragma linkage(FLMGRN, OS_NOSTACK)
314# pragma linkage(FLMGTR, OS_NOSTACK)
315# pragma linkage(FLMIKY, OS_NOSTACK)
316# pragma linkage(FLMLCR, OS_NOSTACK)
317# pragma linkage(FLMPKY, OS_NOSTACK)
318# pragma linkage(FLMUPD, OS_NOSTACK)
319# pragma linkage(FLMGET, OS_NOSTACK)
320# pragma linkage(FLMLOC, OS_NOSTACK)
321# pragma linkage(FLMOPN, OS_NOSTACK)
322# pragma linkage(FLMOPD, OS_NOSTACK)
323# pragma linkage(FLMOPF, OS_NOSTACK)
324# pragma linkage(FLMGHD, OS_NOSTACK)
325# pragma linkage(FLMPHD, OS_NOSTACK)
326# pragma linkage(FLMGSH, OS_NOSTACK)
327# pragma linkage(FLMPSH, OS_NOSTACK)
328# pragma linkage(FLMGUH, OS_NOSTACK)
329# pragma linkage(FLMPUH, OS_NOSTACK)
330# pragma linkage(FLMPWD, OS_NOSTACK)
331# pragma linkage(FLMPOS, OS_NOSTACK)
332# pragma linkage(FLMPUT, OS_NOSTACK)
333# pragma linkage(FLMQRY, OS_NOSTACK)
334# pragma linkage(FLMSET, OS_NOSTACK)
335# pragma linkage(FLMQSH, OS_NOSTACK)
336
337# define _flmkme _flmkme_h
338# define flmkme _flmkme
339# define flmcls FLMCLS
340# define flmflu FLMFLU
341# define flmeme FLMEME
342# define flmdel FLMDEL
343# define flmfky FLMFKY
344# define flmfrn FLMFRN
345# define flmgky FLMGKY
346# define flmgrn FLMGRN
347# define flmgtr FLMGTR
348# define flmiky FLMIKY
349# define flmlcr FLMLCR
350# define flmpky FLMPKY
351# define flmupd FLMUPD
352# define flmget FLMGET
353# define flmloc FLMLOC
354# define flmopn FLMOPN
355# define flmopd FLMOPD
356# define flmopf FLMOPF
357# define flmrdmod FLMRDMOD
358# define flmrdblh FLMRDBLH
359# define flmghd FLMGHD
360# define flmphd FLMPHD
361# define flmgsh FLMGSH
362# define flmpsh FLMPSH
363# define flmguh FLMGUH
364# define flmpuh FLMPUH
365# define flmpwd FLMPWD
366# define flmpos FLMPOS
367# define flmput FLMPUT
368# define flmqry FLMQRY
369# define flmset FLMSET
370# define flmqsh FLMQSH
371# define flmerr FLMERR
372# define flgetmod FLGETMOD
373# define flsetcmp FLSETCMP
374# define flgetenc FLGETENC
375# define flsetenc FLSETENC
376# define flgetsmd FLGETSMD
377# define flgetsnr FLGETSNR
378# define flgetssz FLGETSSZ
379# define flsetsmd FLSETSMD
380# define flsetsnr FLSETSNR
381# define flsetssz FLSETSSZ
382# define flsetpsp FLSETPSP
383# define flsetssp FLSETSSP
384# define flsetvol FLSETVOL
385# define flsetunt FLSETUNT
386# define flsetdcl FLSETDCL
387# define flsetscl FLSETSCL
388# define flsetmcl FLSETMCL
389# define flsetdst FLSETDST
390# define flsetdnr FLSETDNR
391# define flsetdab FLSETDAB
392# define flsetsci FLSETSCI
393
394# else /* __LP64__ */
395
396/* ------------------------------------------------------------------ */
397/* LP64 z/OS: transition stubs from FL4RECLP module perform the */
398/* AMODE64 -> AMODE31 switch before calling the FLAM4 LE-less entries */
399/* ------------------------------------------------------------------ */
400
401 extern void fl4lopn(C08** ppHdl, I32* piRtc, I32* piLst,
402 I32* piMod, const C08* pcLnk, I32* piSta);
403 extern void fl4lcls(C08** ppHdl, I32* piRtc, U64* puCpu,
404 U64* puRec, U64* puByt, U64* puByO,
405 U64* puCpr, U64* puCpB, U64* puCpO);
406 extern void fl4lopd(C08** ppHdl, I32* piRtc, I32* piLst,
407 I32* piNln, C08* pcFnm, I32* piFct,
408 I32* piRcf, I32* piMsz, C08* pcRdl,
409 C08* psKyd, I32* piBks, I32* piCds,
410 I32* piDev);
411 extern void fl4lopf(C08** ppHdl, I32* piRtc, I32* piVer,
412 I32* piFco, I32* piMod, I32* piMbf,
413 I32* piHdr, I32* piMrc, C08* psKyd,
414 I32* piBkm, C08* pcEk2, C08* pcEd2);
415 extern void fl4lflu(C08** ppHdl, I32* piRtc, U64* puCpu,
416 U64* puRec, U64* puByt, U64* puByO,
417 U64* puCpr, U64* puCpB, U64* puCpO);
418 extern void fl4leme(C08** ppHdl, I32* piRtc, U64* puCpu,
419 U64* puRec, U64* puByt, U64* puByO,
420 U64* puCpr, U64* puCpB, U64* puCpO);
421 extern void fl4lget(C08** ppHdl, I32* piRtc, I32* piRln,
422 C08* pcRec, I32* piBln);
423 extern void fl4lgtr(C08** ppHdl, I32* piRtc, I32* piRln,
424 C08* pcRec, I32* piBln);
425 extern void fl4lgky(C08** ppHdl, I32* piRtc, I32* piRln,
426 C08* pcRec, I32* piBln);
427 extern void fl4lgrn(C08** ppHdl, I32* piRtc, I32* piRln,
428 C08* pcRec, I32* piBln, I32* piRno);
429 extern void fl4lloc(C08** ppHdl, I32* piRtc, I32* piRln,
430 C08** ppcRec);
431 extern void fl4llcr(C08** ppHdl, I32* piRtc, I32* piRln,
432 C08** ppcRec);
433 extern void fl4lput(C08** ppHdl, I32* piRtc, I32* piRln,
434 const C08* pcRec);
435 extern void fl4liky(C08** ppHdl, I32* piRtc, I32* piRln,
436 const C08* pcRec);
437 extern void fl4lpky(C08** ppHdl, I32* piRtc, I32* piRln,
438 const C08* pcRec);
439 extern void fl4lupd(C08** ppHdl, I32* piRtc, I32* piRln,
440 const C08* pcRec);
441 extern void fl4lfky(C08** ppHdl, I32* piRtc, I32* piKln,
442 const C08* pcKey, I32* piChk);
443 extern void fl4lfrn(C08** ppHdl, I32* piRtc, I32* piRno,
444 I32* piChk);
445 extern void fl4lpos(C08** ppHdl, I32* piRtc, I32* piPos);
446 extern void fl4ldel(C08** ppHdl, I32* piRtc);
447 extern void fl4lghd(C08** ppHdl, I32* piRtc, I32* piNln,
448 C08* pcFnm, I32* piFct, I32* piRcf,
449 I32* piRsz, C08* pcRdl, C08* psKyd,
450 I32* piBks, I32* piPnc, C08* pcSys);
451 extern void fl4lphd(C08** ppHdl, I32* piRtc, I32* piNln,
452 const C08* pcFnm, I32* piFct, I32* piRcf,
453 I32* piRsz, const C08* pcRdl, const C08* psKyd,
454 I32* piBks, I32* piPnc, const C08* pcSys);
455 extern void fl4lguh(C08** ppHdl, I32* piRtc, I32* piHln,
456 C08* pcHdr);
457 extern void fl4lpuh(C08** ppHdl, I32* piRtc, I32* piHln,
458 const C08* pcHdr);
459 extern void fl4lgsh(C08** ppHdl, I32* piRtc, I32* piHln,
460 C08* pcHdr);
461 extern void fl4lpsh(C08** ppHdl, I32* piRtc, I32* piHln,
462 const C08* pcHdr);
463 extern void fl4lpwd(C08** ppHdl, I32* piRtc, I32* piPln,
464 const C08* pcPwd);
465 extern void fl4lqry(C08** ppHdl, I32* piRtc, I32* piPid,
466 I32* piVal);
467 extern void fl4lset(C08** ppHdl, I32* piRtc, I32* piPid,
468 I32* piVal);
469 extern void fl4lqsh(C08** ppHdl, I32* piRtc, I32* piHln,
470 C08* pcHdr);
471
472# define _flmkme _flmkme_h
473# define flmkme _flmkme
474# define flmcls fl4lcls
475# define flmflu fl4lflu
476# define flmeme fl4leme
477# define flmdel fl4ldel
478# define flmfky fl4lfky
479# define flmfrn fl4lfrn
480# define flmgky fl4lgky
481# define flmgrn fl4lgrn
482# define flmgtr fl4lgtr
483# define flmiky fl4liky
484# define flmlcr fl4llcr
485# define flmpky fl4lpky
486# define flmupd fl4lupd
487# define flmget fl4lget
488# define flmloc fl4lloc
489# define flmopn fl4lopn
490# define flmopd fl4lopd
491# define flmopf fl4lopf
492# define flmghd fl4lghd
493# define flmphd fl4lphd
494# define flmguh fl4lguh
495# define flmpuh fl4lpuh
496# define flmgsh fl4lgsh
497# define flmpsh fl4lpsh
498# define flmpwd fl4lpwd
499# define flmpos fl4lpos
500# define flmput fl4lput
501# define flmqry fl4lqry
502# define flmset fl4lset
503# define flmqsh fl4lqsh
504/* Non-LE-less entries: upper-to-lowercase name mapping only. */
505/* These are LE C functions accessible normally in LP64 LE context. */
506# define flmrdmod FLMRDMOD
507# define flmrdblh FLMRDBLH
508# define flmerr FLMERR
509# define flgetmod FLGETMOD
510# define flsetcmp FLSETCMP
511# define flgetenc FLGETENC
512# define flsetenc FLSETENC
513# define flgetsmd FLGETSMD
514# define flgetsnr FLGETSNR
515# define flgetssz FLGETSSZ
516# define flsetsmd FLSETSMD
517# define flsetsnr FLSETSNR
518# define flsetssz FLSETSSZ
519# define flsetpsp FLSETPSP
520# define flsetssp FLSETSSP
521# define flsetvol FLSETVOL
522# define flsetunt FLSETUNT
523# define flsetdcl FLSETDCL
524# define flsetscl FLSETSCL
525# define flsetmcl FLSETMCL
526# define flsetdst FLSETDST
527# define flsetdnr FLSETDNR
528# define flsetdab FLSETDAB
529# define flsetsci FLSETSCI
530
531# endif /* __LP64__ */
532
533#else
534
535# define flmkme _flmkme1
536# define flmcls _flmcls1
537# define flmflu _flmflu1
538# define flmget _flmget1
539# define flmloc _flmloc1
540# define flmopn _flmopn1
541# define flmopd _flmopd1
542# define flmopf _flmopf1
543# define flmrdmod _flmrdmod1
544# define flmrdblh _flmrdblh1
545# define flmghd _flmghd1
546# define flmphd _flmphd1
547# define flmgsh _flmgsh1
548# define flmpsh _flmpsh1
549# define flmguh _flmguh1
550# define flmpuh _flmpuh1
551# define flmpwd _flmpwd1
552# define flmpos _flmpos1
553# define flmput _flmput1
554# define flmqry _flmqry1
555# define flmset _flmset1
556# define flmqsh _flmqsh1
557# define flmerr _flmerr1
558# define flmdel _flmdel1
559# define flmfky _flmfky1
560# define flmfrn _flmfrn1
561# define flmgky _flmgky1
562# define flmgrn _flmgrn1
563# define flmgtr _flmgtr1
564# define flmiky _flmiky1
565# define flmlcr _flmlcr1
566# define flmpky _flmpky1
567# define flmupd _flmupd1
568# define flgetmod _flgetmod1
569# define flgetcmp _flgetcmp1
570# define flgetexp _flgetexp1
571# define flgetenc _flgetenc1
572# define flsetenc _flsetenc1
573# define flgetsmd _flgetsmd1
574# define flgetsnr _flgetsnr1
575# define flgetssz _flgetssz1
576# define flsetsmd _flsetsmd1
577# define flsetsnr _flsetsnr1
578# define flsetssz _flsetssz1
579# define flsetpsp _flsetpsp1
580# define flsetssp _flsetssp1
581# define flsetvol _flsetvol1
582# define flsetunt _flsetunt1
583# define flsetdcl _flsetdcl1
584# define flsetscl _flsetscl1
585# define flsetmcl _flsetmcl1
586# define flsetdst _flsetdst1
587# define flsetdnr _flsetdnr1
588# define flsetdab _flsetdab1
589# define flsetsci _flsetsci1
590
591# define flmkme2 _flmkme2
592# define flmcls2 _flmcls2
593# define flmflu2 _flmflu2
594# define flmget2 _flmget2
595# define flmloc2 _flmloc2
596# define flmopn2 _flmopn2
597# define flmopd2 _flmopd2
598# define flmopf2 _flmopf2
599# define flmrdmod2 _flmrdmod2
600# define flmrdblh2 _flmrdblh2
601# define flmghd2 _flmghd2
602# define flmphd2 _flmphd2
603# define flmgsh2 _flmgsh2
604# define flmpsh2 _flmpsh2
605# define flmguh2 _flmguh2
606# define flmpuh2 _flmpuh2
607# define flmpwd2 _flmpwd2
608# define flmpos2 _flmpos2
609# define flmput2 _flmput2
610# define flmqry2 _flmqry2
611# define flmset2 _flmset2
612# define flmqsh2 _flmqsh2
613# define flgetrn2 _flgetrn2
614# define flgetmod2 _flgetmod2
615# define flgetcmp2 _flgetcmp2
616# define flgetexp2 _flgetexp2
617# define flgetenc2 _flgetenc2
618# define flsetenc2 _flsetenc2
619# define flgetsmd2 _flgetsmd2
620# define flgetsnr2 _flgetsnr2
621# define flgetssz2 _flgetssz2
622# define flsetsmd2 _flsetsmd2
623# define flsetsnr2 _flsetsnr2
624# define flsetssz2 _flsetssz2
625# define flsetpsp2 _flsetpsp2
626# define flsetssp2 _flsetssp2
627# define flsetvol2 _flsetvol2
628# define flsetunt2 _flsetunt2
629# define flsetdcl2 _flsetdcl2
630# define flsetscl2 _flsetscl2
631# define flsetmcl2 _flsetmcl2
632# define flsetdst2 _flsetdst2
633# define flsetdnr2 _flsetdnr2
634# define flsetdab2 _flsetdab2
635# define flsetsci2 _flsetsci2
636# define flmerr2 _flmerr2
637
638#endif
639
641
642/**********************************************************************/
648
649#ifndef INC_TYPDEF_H
650 typedef char C08;
651 typedef signed char I08;
652 typedef unsigned char U08;
653 typedef signed short I16;
654 typedef unsigned short U16;
655 typedef signed int I32;
656 typedef unsigned int U32;
657 typedef signed long long int I64;
658 typedef unsigned long long int U64;
659#endif
660
661/**********************************************************************/
662
683
697
698/******************************************************************************/
699
713
730
732/**********************************************************************/
737
745extern const char* pcFl4RecVersion(const int l, const int s, char* b);
746
754extern const char* pcFl4RecAbout(const int l, const int s, char* b);
755
783extern void flmopn(
784 C08** flmid,
785 I32* rc,
786 I32* lstpar,
787 I32* opmode,
788 const C08* filename,
789 I32* statis);
790
816extern void flmopd(
817 C08** flmid,
818 I32* rc,
819 I32* lstpar,
820 I32* namelen,
821 C08* filename,
822 I32* org,
823 I32* recf,
824 I32* recs,
825 U08* recdel,
826 FKD* keydesc,
827 I32* blks,
828 I32* cldisp,
829 I32* dev);
830
859extern void flmopf(
860 C08** flmid,
861 I32* rc,
862 I32* version,
863 I32* flcode,
864 I32* modus,
865 I32* maxbuf,
866 I32* header,
867 I32* maxrec,
868 FKD* keydesc,
869 I32* blkmode,
870 U08* exk20,
871 U08* exd20);
872
929extern void flmflu(
930 C08** flmid,
931 I32* rc,
932 U32* cputime,
933 U32* recin,
934 U32* bytin,
935 U32* bytoflin,
936 U32* recout,
937 U32* bytout,
938 U32* bytoflout);
939
974extern void flmeme(
975 C08** flmid,
976 I32* rc,
977 U32* cputime,
978 U32* recin,
979 U32* bytin,
980 U32* bytoflin,
981 U32* recout,
982 U32* bytout,
983 U32* bytoflout,
984 U08* membermac);
985
999extern void flmdel(
1000 C08** flmid,
1001 I32* rc);
1002
1029extern void flmfky(
1030 C08** flmid,
1031 I32* rc,
1032 I32* keylen,
1033 U08* record,
1034 I32* checkmod);
1035
1057extern void flmfrn(
1058 C08** flmid,
1059 I32* rc,
1060 I32* recno,
1061 I32* checkmod);
1062
1081extern void flmgky(
1082 C08** flmid,
1083 I32* rc,
1084 I32* reclen,
1085 U08* record,
1086 I32* buflen);
1087
1115extern void flmgrn(
1116 C08** flmid,
1117 I32* rc,
1118 I32* reclen,
1119 U08* record,
1120 I32* buflen,
1121 I32* recno);
1122
1147extern void flmgtr(
1148 C08** flmid,
1149 I32* rc,
1150 I32* reclen,
1151 U08* record,
1152 I32* buflen);
1153
1171extern void flmiky(
1172 C08** flmid,
1173 I32* rc,
1174 I32* reclen,
1175 U08* record);
1176
1196extern void flmlcr(
1197 C08** flmid,
1198 I32* rc,
1199 I32* reclen,
1200 U08** recptr);
1201
1220extern void flmpky(
1221 C08** flmid,
1222 I32* rc,
1223 I32* reclen,
1224 U08* record);
1225
1243extern void flmupd(
1244 C08** flmid,
1245 I32* rc,
1246 I32* reclen,
1247 U08* record);
1248
1308extern void flmcls(
1309 C08** flmid,
1310 I32* rc,
1311 U32* cputime,
1312 U32* recin,
1313 U32* bytin,
1314 U32* bytoflin,
1315 U32* recout,
1316 U32* bytout,
1317 U32* bytoflout);
1318
1386extern void flmghd(
1387 C08** flmid,
1388 I32* rc,
1389 I32* namelen,
1390 C08* filename,
1391 I32* org,
1392 I32* recf,
1393 I32* recs,
1394 U08* recdel,
1395 FKD* keydesc,
1396 I32* blks,
1397 I32* prnctr,
1398 C08* system);
1399
1439extern void flmphd(
1440 C08** flmid,
1441 I32* rc,
1442 I32* namelen,
1443 C08* filename,
1444 I32* org,
1445 I32* recf,
1446 I32* recs,
1447 U08* recdel,
1448 FKD* keydesc,
1449 I32* blks,
1450 I32* prnctr,
1451 C08* system,
1452 I32* cont);
1453
1473extern void flmguh(
1474 C08** flmid,
1475 I32* rc,
1476 I32* hdrlen,
1477 C08* header);
1478
1502extern void flmpuh(
1503 C08** flmid,
1504 I32* rc,
1505 I32* hdrlen,
1506 C08* header);
1507
1525extern void flmpwd(
1526 C08** flmid,
1527 I32* rc,
1528 U32* pwdlen,
1529 C08* passwd);
1530
1531
1556extern void flmkme(
1557 C08** flmid,
1558 I32* rc,
1559 U32* kmclen,
1560 U08* kmc,
1561 const U32* liblen,
1562 const C08* lib,
1563 const U32* fuclen,
1564 const C08* fuc,
1565 const U32* parlen,
1566 const C08* par,
1567 U32* msglen,
1568 C08* msg,
1569 U32* inflen,
1570 C08* inf);
1572extern void _flmkme(
1573 C08** flmid,
1574 I32* rc,
1575 U32* kmclen,
1576 U08* kmc,
1577 const U32* liblen,
1578 const C08* lib,
1579 const U32* fuclen,
1580 const C08* fuc,
1581 const U32* parlen,
1582 const C08* par,
1583 U32* msglen,
1584 C08* msg,
1585 U32* inflen,
1586 C08* inf);
1588
1631extern void flmpos(
1632 C08** flmid,
1633 I32* rc,
1634 I32* pos);
1635
1669extern void flmget(
1670 C08** flmid,
1671 I32* rc,
1672 I32* reclength,
1673 U08* record,
1674 I32* buflength);
1675
1694extern void flmloc(
1695 C08** flmid,
1696 I32* rc,
1697 I32* reclength,
1698 U08** record);
1699
1715extern void flmput(
1716 C08** flmid,
1717 I32* rc,
1718 I32* reclength,
1719 U08* record );
1720
1730extern void flmerr(
1731 const I32* rc,
1732 I32* msglen,
1733 const C08** errmsg);
1734
1771extern void flmqry(
1772 C08** flmid,
1773 I32* rc,
1774 I32* parameter,
1775 void* value);
1776
1812extern void flmset(
1813 C08** flmid,
1814 I32* rc,
1815 I32* parameter,
1816 const void* value);
1817
1819/**********************************************************************/
1820
1822
1823extern void flmrdmod(C08** flmid,I32* rc,I32* modus);
1824extern void flmrdblh(C08** flmid,I32* rc,I32* hdrtyp,I32* modus);
1825extern void flmgsh(C08** flmid,I32* rc,I32* hdrlen,C08* header);
1826extern void flmpsh(C08** flmid,I32* rc,I32* hdrlen,C08* header,I32* cont);
1827extern void flmqsh(C08** flmid,C08* system,C08* header,I32* filtyp,I64* filsiz,I32* dirblk);
1828extern void flgetmod(C08** flmid,I32* rc,I32* mode);
1829extern void flgetenc(C08** flmid,I32* rc,I32* cmpmod,I32* encmod);
1830extern void flgetcmp(C08** flmid,I32* rc,I32* cmpmod);
1831extern void flgetexp(C08** flmid,I32* rc,I32* expfac);
1832extern void flsetenc(C08** flmid,I32* rc,const I32* cmpmod,const I32* encmod);
1833extern void flgetsmd(C08** flmid,I32* rc,I32* splmod);
1834extern void flgetsnr(C08** flmid,I32* rc,I32* splnbr);
1835extern void flgetssz(C08** flmid,I32* rc,I32* splsiz);
1836extern void flsetsmd(C08** flmid,I32* rc,const I32* splmod);
1837extern void flsetsnr(C08** flmid,I32* rc,const I32* splnbr);
1838extern void flsetssz(C08** flmid,I32* rc,const I32* splsiz);
1839extern void flsetpsp(C08** flmid,I32* rc,const I32* prispc);
1840extern void flsetssp(C08** flmid,I32* rc,const I32* secspc);
1841extern void flsetvol(C08** flmid,I32* rc,const C08* volser);
1842extern void flsetunt(C08** flmid,I32* rc,const C08* unit);
1843extern void flsetdcl(C08** flmid,I32* rc,const C08* datcls);
1844extern void flsetscl(C08** flmid,I32* rc,const C08* srgcls);
1845extern void flsetmcl(C08** flmid,I32* rc,const C08* mgmcls);
1846extern void flsetdst(C08** flmid,I32* rc,const I32* dspsta);
1847extern void flsetdnr(C08** flmid,I32* rc,const I32* dspnrm);
1848extern void flsetdab(C08** flmid,I32* rc,const I32* dspabo);
1849extern void flsetsci(C08** flmid,I32* rc,const I32* secinf);
1850
1851/**********************************************************************/
1852
1853#ifdef FL4REC_VERSION2
1854
1855extern void flmopn2(
1856 void **hdl,
1857 I32 *rc,
1858 I32 *lstpar,
1859 I32 *opmode,
1860 const C08 *filename,
1861 void *connection,
1862 I32 *statis,
1863 void *gbl);
1864
1865extern void flmopd2(
1866 void **hdl,
1867 I32 *rc,
1868 I32 *lstpar,
1869 I32 *namelen,
1870 C08 *filename,
1871 I32 *org,
1872 I32 *recf,
1873 I32 *recs,
1874 U08 *recdel,
1875 FKD *keydesc,
1876 I32 *blks,
1877 I32 *cldisp,
1878 I32 *dev);
1879
1880extern void flmopf2(
1881 void **hdl,
1882 I32 *rc,
1883 I32 *version,
1884 I32 *flcode,
1885 I32 *modus,
1886 I32 *maxbuf,
1887 I32 *header,
1888 I32 *maxrec,
1889 FKD *keydesc,
1890 I32 *blkmode,
1891 U08 *exk20,
1892 U08 *exd20);
1893
1894extern void flmflu2(
1895 void **hdl,
1896 I32 *rc,
1897 U32 *cputime,
1898 U32 *recin,
1899 U64 *piBytCnt,
1900 U32 *recout,
1901 U64 *piCmpByt);
1902
1903extern void flmeme2(
1904 void **hdl,
1905 I32 *rc,
1906 U32 *cputime,
1907 U32 *recin,
1908 U64 *piBytCnt,
1909 U32 *recout,
1910 U64 *piCmpByt);
1911
1912extern void flmdel2(
1913 void** hdl,
1914 I32* rc);
1915
1916extern void flmfky2(
1917 void** hdl,
1918 I32* rc,
1919 I32* keylen,
1920 U08* record,
1921 I32* checkmod);
1922
1923extern void flmfrn2(
1924 void** hdl,
1925 I32* rc,
1926 I32* recno,
1927 I32* checkmod);
1928
1929extern void flmgky2(
1930 void** hdl,
1931 I32* rc,
1932 I32* reclen,
1933 U08* record,
1934 I32* buflen);
1935
1936extern void flmgrn2(
1937 void** hdl,
1938 I32* rc,
1939 I32* reclen,
1940 U08* record,
1941 I32* buflen,
1942 I32* recno);
1943
1944extern void flmgtr2(
1945 void** hdl,
1946 I32* rc,
1947 I32* reclen,
1948 U08* record,
1949 I32* buflen);
1950
1951extern void flmiky2(
1952 void** hdl,
1953 I32* rc,
1954 I32* reclen,
1955 U08* record);
1956
1957extern void flmlcr2(
1958 void** hdl,
1959 I32* rc,
1960 I32* reclen,
1961 U08** recptr);
1962
1963extern void flmpky2(
1964 void** hdl,
1965 I32* rc,
1966 I32* reclen,
1967 U08* record);
1968
1969extern void flmupd2(
1970 void** hdl,
1971 I32* rc,
1972 I32* reclen,
1973 U08* record);
1974
1975extern void flmcls2(
1976 void **hdl,
1977 I32 *rc,
1978 U32 *cputime,
1979 U32 *recin,
1980 U64* piBytCnt,
1981 U32 *recout,
1982 U64* piCmpByt,
1983 const U32 isWrite,
1984 const C08* pcFilNam,
1985 const U32 isRemove,
1986 const U32 isFilDmy,
1987 const I64 siModTim,
1988 const I64 siAcsTim,
1989 const U32 isExtAtr,
1990 const U32 uiExtAtr);
1991
1992extern void flmghd2(
1993 void **hdl,
1994 I32 *rc,
1995 I32 *namelen,
1996 C08 *filename,
1997 I32 *org,
1998 I32 *recf,
1999 I32 *recs,
2000 U08 *recdel,
2001 FKD *keydesc,
2002 I32 *blks,
2003 I32 *prnctr,
2004 C08 *system);
2005
2006extern void flmphd2(
2007 void **hdl,
2008 I32 *rc,
2009 I32 *namelen,
2010 C08 *filename,
2011 I32 *org,
2012 I32 *recf,
2013 I32 *recs,
2014 U08 *recdel,
2015 FKD *keydesc,
2016 I32 *blks,
2017 I32 *prnctr,
2018 C08 *system,
2019 I32 *cont);
2020
2021extern void flmguh2(
2022 void **hdl,
2023 I32 *rc,
2024 I32 *hdrlen,
2025 C08 *header);
2026
2027extern void flmpuh2(
2028 void **hdl,
2029 I32 *rc,
2030 I32 *hdrlen,
2031 C08 *header);
2032
2033extern void flmpwd2(
2034 void **hdl,
2035 I32 *rc,
2036 U32 *pwdlen,
2037 C08 *passwd);
2038
2039extern void flmkme2(
2040 void **hdl,
2041 I32 *rc,
2042 U32 *kmclen,
2043 U08 *kmc,
2044 const U32 *liblen,
2045 const C08 *lib,
2046 const U32 *fuclen,
2047 const C08 *fuc,
2048 const U32 *parlen,
2049 const C08 *par,
2050 U32 *msglen,
2051 C08 *msg,
2052 U32 *inflen,
2053 C08 *inf);
2054
2055extern void flmpos2(
2056 void **hdl,
2057 I32 *rc,
2058 I32 *pos);
2059
2060extern void flmget2(
2061 void **hdl,
2062 I32 *rc,
2063 I32 *reclength,
2064 U08 *record,
2065 I32 *buflength);
2066
2067extern void flmloc2(
2068 void **hdl,
2069 I32 *rc,
2070 I32 *reclength,
2071 U08 **record);
2072
2073extern void flmput2(
2074 void **hdl,
2075 I32 *rc,
2076 I32 *reclength,
2077 U08 *record);
2078
2079extern void flmrdmod2(
2080 void **hdl,
2081 I32 *rc,
2082 I32 *modus);
2083
2084extern void flmrdblh2(
2085 void **hdl,
2086 I32 *rc,
2087 I32 *hdrtyp,
2088 I32 *cmpmode,
2089 I32 *encmode);
2090
2091extern void flmgsh2(
2092 void **hdl,
2093 I32 *rc,
2094 I32 *hdrlen,
2095 C08 *header);
2096
2097extern void flmpsh2(
2098 void **hdl,
2099 I32 *rc,
2100 I32 *hdrlen,
2101 C08 *header,
2102 I32 *cont);
2103
2104extern void flmqry2(
2105 void **hdl,
2106 I32 *rc,
2107 I32 *parameter,
2108 void *value);
2109
2110extern void flmset2(
2111 void **hdl,
2112 I32 *rc,
2113 I32 *parameter,
2114 const void *value);
2115
2116extern void flmqsh2(
2117 void **hdl,
2118 C08 *system,
2119 C08 *header,
2120 I32 *filtyp,
2121 I64 *filsiz,
2122 I32 *dirblk);
2123
2124extern const char* flgetrn2(void **hdl);
2125
2126extern void flgetmod2(
2127 void **hdl,
2128 I32 *rc,
2129 I32 *mode);
2130
2131extern void flgetenc2(
2132 void **hdl,
2133 I32 *rc,
2134 I32 *cmpmod,
2135 I32 *encmod);
2136
2137extern void flgetcmp2(
2138 void **hdl,
2139 I32 *rc,
2140 I32 *cmpmod);
2141
2142extern void flgetexp2(
2143 void **hdl,
2144 I32 *rc,
2145 I32 *expfac);
2146
2147extern void flsetenc2(
2148 void **hdl,
2149 I32 *rc,
2150 const I32 *cmpmod,
2151 const I32 *encmod);
2152
2153extern void flsetsci2(
2154 void **hdl,
2155 I32 *rc,
2156 const I32 *secinf);
2157
2158extern void flgetsmd2(
2159 void **hdl,
2160 I32 *rc,
2161 I32 *splmod);
2162
2163extern void flgetsnr2(
2164 void **hdl,
2165 I32 *rc,
2166 I32 *splnbr);
2167
2168extern void flgetssz2(
2169 void **hdl,
2170 I32 *rc,
2171 I32 *splsiz);
2172
2173extern void flsetsmd2(
2174 void **hdl,
2175 I32 *rc,
2176 const I32 *splmod);
2177
2178extern void flsetsnr2(
2179 void **hdl,
2180 I32 *rc,
2181 const I32 *splnbr);
2182
2183extern void flsetssz2(
2184 void **hdl,
2185 I32 *rc,
2186 const I32 *splsiz);
2187
2188extern void flsetpsp2(
2189 void **hdl,
2190 I32 *rc,
2191 const I32 *prispc);
2192
2193extern void flsetssp2(
2194 void **hdl,
2195 I32 *rc,
2196 const I32 *secspc);
2197
2198extern void flsetvol2(
2199 void **hdl,
2200 I32 *rc,
2201 const C08 *volser);
2202
2203extern void flsetunt2(
2204 void **hdl,
2205 I32 *rc,
2206 const C08 *unit);
2207
2208extern void flsetdcl2(
2209 void **hdl,
2210 I32 *rc,
2211 const C08 *datcls);
2212
2213extern void flsetscl2(
2214 void **hdl,
2215 I32 *rc,
2216 const C08 *srgcls);
2217
2218extern void flsetmcl2(
2219 void **hdl,
2220 I32 *rc,
2221 const C08 *mgmcls);
2222
2223extern void flsetdst2(
2224 void **hdl,
2225 I32 *rc,
2226 const I32 *dspsta);
2227
2228extern void flsetdnr2(
2229 void **hdl,
2230 I32 *rc,
2231 const I32 *dspnrm);
2232
2233extern void flsetdab2(
2234 void **hdl,
2235 I32 *rc,
2236 const I32 *dspabo);
2237
2238extern void* flgetfil2(void** hdl);
2239
2240extern C08* flprncon2(void** hdl, const U32 uiSize, C08* pcBuffer);
2241
2242extern void flmerr2(
2243 void **hdl,
2244 I32 *rc,
2245 I32 *msglen,
2246 const C08 **errmsg);
2247
2248#ifdef __DEBUG__
2249extern int flchkopncls2(void);
2250#endif
2251
2252#endif /*FL4REC_VERSION2*/
2253/**********************************************************************/
2254
2255#ifdef __cplusplus
2256 }
2257#endif
2259
2260/**********************************************************************/
2261
2262#endif /* INC_FL4REC_H */
void flmqry(C08 **flmid, I32 *rc, I32 *parameter, void *value)
Query extended FLAMFILE attributes.
void flmiky(C08 **flmid, I32 *rc, I32 *reclen, U08 *record)
Insert record with key (only z/OS).
void flmput(C08 **flmid, I32 *rc, I32 *reclength, U08 *record)
Put record.
void flmlcr(C08 **flmid, I32 *rc, I32 *reclen, U08 **recptr)
Locate previous record (only z/OS).
void flmloc(C08 **flmid, I32 *rc, I32 *reclength, U08 **record)
Locate record.
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).
void flmcls(C08 **flmid, I32 *rc, U32 *cputime, U32 *recin, U32 *bytin, U32 *bytoflin, U32 *recout, U32 *bytout, U32 *bytoflout)
Close FLAMFILE.
void flmpuh(C08 **flmid, I32 *rc, I32 *hdrlen, C08 *header)
Put user header.
void flmgtr(C08 **flmid, I32 *rc, I32 *reclen, U08 *record, I32 *buflen)
Get previous record (only z/OS).
const char * pcFl4RecAbout(const int l, const int s, char *b)
void flmset(C08 **flmid, I32 *rc, I32 *parameter, const void *value)
Set extended FLAMFILE attributes.
const char * pcFl4RecVersion(const int l, const int s, char *b)
void flmfrn(C08 **flmid, I32 *rc, I32 *recno, I32 *checkmod)
Find record number (only z/OS).
void flmfky(C08 **flmid, I32 *rc, I32 *keylen, U08 *record, I32 *checkmod)
Find record using a key (only z/OS).
void flmpky(C08 **flmid, I32 *rc, I32 *reclen, U08 *record)
Put record by key (only z/OS).
void flmgky(C08 **flmid, I32 *rc, I32 *reclen, U08 *record, I32 *buflen)
Get record addressed by key (only z/OS).
void flmget(C08 **flmid, I32 *rc, I32 *reclength, U08 *record, I32 *buflength)
Get next record.
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.
void flmpwd(C08 **flmid, I32 *rc, U32 *pwdlen, C08 *passwd)
Sets a password for encryption/decryption while compressing/decompressing.
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.
void flmguh(C08 **flmid, I32 *rc, I32 *hdrlen, C08 *header)
Get user header.
void flmerr(const I32 *rc, I32 *msglen, const C08 **errmsg)
Provides an error message.
void flmdel(C08 **flmid, I32 *rc)
Delete last record (only z/OS).
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.
void flmupd(C08 **flmid, I32 *rc, I32 *reclen, U08 *record)
Update record (only z/OS).
void flmopn(C08 **flmid, I32 *rc, I32 *lstpar, I32 *opmode, const C08 *filename, I32 *statis)
Open a FLAMFILE.
void flmopd(C08 **flmid, I32 *rc, I32 *lstpar, I32 *namelen, C08 *filename, I32 *org, I32 *recf, I32 *recs, U08 *recdel, FKD *keydesc, I32 *blks, I32 *cldisp, I32 *dev)
Set/Get FLAMFILE organisation attributes.
void flmpos(C08 **flmid, I32 *rc, I32 *pos)
Set read position.
void flmflu(C08 **flmid, I32 *rc, U32 *cputime, U32 *recin, U32 *bytin, U32 *bytoflin, U32 *recout, U32 *bytout, U32 *bytoflout)
Flush FLAMFILE.
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.
void flmgrn(C08 **flmid, I32 *rc, I32 *reclen, U08 *record, I32 *buflen, I32 *recno)
Get record by number (only z/OS).
signed char I08
signed 8 bit integer
Definition FL4REC.h:651
unsigned char U08
unsigned 8 bit integer
Definition FL4REC.h:652
unsigned long long int U64
signed 64 bit integer
Definition FL4REC.h:658
signed int I32
signed 32 bit integer
Definition FL4REC.h:655
struct key_element FKE
Defines a key element for index sequential access methods (VSAM-KSDS).
signed long long int I64
signed 64 bit integer
Definition FL4REC.h:657
flmset_parameter
The flmset_parameter enum defines constants for the flmset() function.
Definition FL4REC.h:666
flmget_parameter
The flmget_parameter enum defines constants for the flmqry() function.
Definition FL4REC.h:687
struct key_description FKD
Key elements for index sequential data access.
signed short I16
signed 16 bit integer
Definition FL4REC.h:653
char C08
8 bit character
Definition FL4REC.h:650
unsigned int U32
unsigned 32 bit integer
Definition FL4REC.h:656
unsigned short U16
unsigned 16 bit integer
Definition FL4REC.h:654
@ FLMSET_SPLITNUMBER
split number 2 - 4
Definition FL4REC.h:668
@ FLMSET_VOLUME
volume name 1-8 character
Definition FL4REC.h:672
@ FLMSET_SPLITMODE
split mode 0: none, 1: serial, 2: parallel
Definition FL4REC.h:667
@ FLMSET_DISPOSTION_STATUS
disposition status 0: Default, 1: NEW, 2: OLD, 3: SHR, 4: MOD
Definition FL4REC.h:677
@ FLMSET_SPLITSIZE
split size in MiB 1 - 4095
Definition FL4REC.h:669
@ FLMSET_STORAGE_CLASS
storage class name 1 - 8 character
Definition FL4REC.h:675
@ FLMSET_PRIMARY_SPACE
size of primary in MiB 1 - 4095
Definition FL4REC.h:670
@ FLMSET_DISPOSITION_ABNORMAL
abnormal disposition 0: Default, 1: DELETE, 2: KEEP, 3: CATLG, 4: UNCATLG
Definition FL4REC.h:679
@ FLMSET_DATA_CLASS
data class name 1 - 8 character
Definition FL4REC.h:674
@ FLMSET_MANAGEMENT_CLASS
management class name 1 - 8 character
Definition FL4REC.h:676
@ FLMSET_SECUREINFO
secure info 0: no, 1: yes, 2: ignore, 3: member
Definition FL4REC.h:681
@ FLMSET_SECONDARY_SPACE
size of secondary space in MiB 1 - 4095
Definition FL4REC.h:671
@ FLMSET_DISPOSITION_NORMAL
normal disposition 0: Default, 1: DELETE, 2: KEEP, 3: CATLG, 4: UNCATLG
Definition FL4REC.h:678
@ FLMSET_CRYPTOMODE
mode of encryption 0: none, 1: FLAM, 2: AES
Definition FL4REC.h:680
@ FLMSET_UNIT
unit name 1 - 8 character
Definition FL4REC.h:673
@ FLMGET_SECUREINFO
secure info 0: no, 1: yes, 2: ignore, 3: member
Definition FL4REC.h:692
@ FLMGET_SPLITNUMBER
split number 2 - 4
Definition FL4REC.h:689
@ FLMGET_SPLITSIZE
split size in MiB 1 - 4095
Definition FL4REC.h:690
@ FLMGET_SPLITMODE
split mode 0: none, 1: serial, 2: parallel
Definition FL4REC.h:688
@ FLMGET_RLCOMPMODE
real compression mode 3: ADC 8: ZEDC
Definition FL4REC.h:694
@ FLMGET_CRYPTOMODE
mode of encryption 0: none, 1: FLAM, 2: AES
Definition FL4REC.h:691
@ FLMGET_EXPFACTOR
expansion factor after first read
Definition FL4REC.h:695
@ FLMGET_MODE
general mode 0: deco/read 1: comp/write
Definition FL4REC.h:693
Key elements for index sequential data access.
Definition FL4REC.h:720
U32 KEYFLG
Key flag.
Definition FL4REC.h:723
FKE KEYELM[8]
Array of key elements.
Definition FL4REC.h:728
U32 KEYCNT
Number of key elements.
Definition FL4REC.h:726
Defines a key element for index sequential access methods (VSAM-KSDS).
Definition FL4REC.h:703
U32 KEYTYP
Data type:
Definition FL4REC.h:711
U32 KEYLEN
Length of the key in the record (minimum 1, default 8).
Definition FL4REC.h:708
U32 KEYPOS
Key position.
Definition FL4REC.h:706