284#if defined(__ZOS__) && !defined(FL4REC_REMOTE_IMPL)
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)
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
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
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
491 typedef unsigned char U08;
493 typedef unsigned short U16;
496 typedef signed long long int I64;
497 typedef unsigned long long int U64;
1571 const C08** errmsg);
1661extern void flmrdmod(
C08** flmid,
I32* rc,
I32* modus);
1662extern void flmrdblh(
C08** flmid,
I32* rc,
I32* hdrtyp,
I32* modus);
1663extern void flmgsh(
C08** flmid,
I32* rc,
I32* hdrlen,
C08* header);
1664extern void flmpsh(
C08** flmid,
I32* rc,
I32* hdrlen,
C08* header,
I32* cont);
1665extern void flmqsh(
C08** flmid,
C08* system,
C08* header,
I32* filtyp,
I64* filsiz,
I32* dirblk);
1666extern void flgetmod(
C08** flmid,
I32* rc,
I32* mode);
1667extern void flgetenc(
C08** flmid,
I32* rc,
I32* cmpmod,
I32* encmod);
1668extern void flgetcmp(
C08** flmid,
I32* rc,
I32* cmpmod);
1669extern void flsetenc(
C08** flmid,
I32* rc,
I32* cmpmod,
I32* encmod);
1670extern void flgetsmd(
C08** flmid,
I32* rc,
I32* splmod);
1671extern void flgetsnr(
C08** flmid,
I32* rc,
I32* splnbr);
1672extern void flgetssz(
C08** flmid,
I32* rc,
I32* splsiz);
1673extern void flsetsmd(
C08** flmid,
I32* rc,
I32* splmod);
1674extern void flsetsnr(
C08** flmid,
I32* rc,
I32* splnbr);
1675extern void flsetssz(
C08** flmid,
I32* rc,
I32* splsiz);
1676extern void flsetpsp(
C08** flmid,
I32* rc,
I32* prispc);
1677extern void flsetssp(
C08** flmid,
I32* rc,
I32* secspc);
1678extern void flsetvol(
C08** flmid,
I32* rc,
C08* volser);
1679extern void flsetunt(
C08** flmid,
I32* rc,
C08* unit);
1680extern void flsetdcl(
C08** flmid,
I32* rc,
C08* datcls);
1681extern void flsetscl(
C08** flmid,
I32* rc,
C08* srgcls);
1682extern void flsetmcl(
C08** flmid,
I32* rc,
C08* mgmcls);
1683extern void flsetdst(
C08** flmid,
I32* rc,
I32* dspsta);
1684extern void flsetdnr(
C08** flmid,
I32* rc,
I32* dspnrm);
1685extern void flsetdab(
C08** flmid,
I32* rc,
I32* dspabo);
1686extern void flsetsci(
C08** flmid,
I32* rc,
I32* secinf);
1690#ifdef FL4REC_VERSION2
1822 const C08* pcFilNam,
1828 const U32 uiExtAtr);
1917extern void flmrdmod2(
1922extern void flmrdblh2(
1961extern const char* flgetrn2(
void **hdl);
1963extern void flgetmod2(
1968extern void flgetenc2(
1974extern void flgetcmp2(
1979extern void flsetenc2(
1985extern void flsetsci2(
1990extern void flgetsmd2(
1995extern void flgetsnr2(
2000extern void flgetssz2(
2005extern void flsetsmd2(
2010extern void flsetsnr2(
2015extern void flsetssz2(
2020extern void flsetpsp2(
2025extern void flsetssp2(
2030extern void flsetvol2(
2035extern void flsetunt2(
2040extern void flsetdcl2(
2045extern void flsetscl2(
2050extern void flsetmcl2(
2055extern void flsetdst2(
2060extern void flsetdnr2(
2065extern void flsetdab2(
2070extern void* flgetfil2(
void** hdl);
2072extern C08* flprncon2(
void** hdl,
const U32 uiSize,
C08* pcBuffer);
2078 const C08 **errmsg);
2081extern int flchkopncls2(
void);
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)
void flmset(C08 **flmid, I32 *rc, I32 *parameter, void *value)
Set extended FLAMFILE attributes.
const char * pcFl4RecAbout(const int l, const int s, char *b)
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 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 flmpos(C08 **flmid, I32 *rc, I32 *pos)
Set read position.
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.
void flmflu(C08 **flmid, I32 *rc, U32 *cputime, U32 *recin, U32 *bytin, U32 *bytoflin, U32 *recout, U32 *bytout, U32 *bytoflout)
Flush FLAMFILE.
void flmerr(I32 *rc, I32 *msglen, const C08 **errmsg)
Provides an error message.
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)
void flmopn(C08 **flmid, I32 *rc, I32 *lstpar, I32 *opmode, C08 *ddname, I32 *statis)
Open a FLAMFILE.
signed char I08
signed 8 bit integer
Definition FL4REC.h:490
unsigned char U08
unsigned 8 bit integer
Definition FL4REC.h:491
unsigned long long int U64
signed 64 bit integer
Definition FL4REC.h:497
signed int I32
signed 32 bit integer
Definition FL4REC.h:494
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:496
flmset_parameter
The flmset_parameter enum defines constants for the flmset() function.
Definition FL4REC.h:505
flmget_parameter
The flmget_parameter enum defines constants for the flmqry() function.
Definition FL4REC.h:526
struct key_description FKD
Key elements for index sequential data access.
signed short I16
signed 16 bit integer
Definition FL4REC.h:492
char C08
8 bit character
Definition FL4REC.h:489
unsigned int U32
unsigned 32 bit integer
Definition FL4REC.h:495
unsigned short U16
unsigned 16 bit integer
Definition FL4REC.h:493
@ FLMSET_SPLITNUMBER
split number 2 - 4
Definition FL4REC.h:507
@ FLMSET_VOLUME
volume name 1-8 character
Definition FL4REC.h:511
@ FLMSET_SPLITMODE
split mode 0: none, 1: serial, 2: parallel
Definition FL4REC.h:506
@ FLMSET_DISPOSTION_STATUS
disposition status 0: Default, 1: NEW, 2: OLD, 3: SHR, 4: MOD
Definition FL4REC.h:516
@ FLMSET_SPLITSIZE
split size in MiB 1 - 4095
Definition FL4REC.h:508
@ FLMSET_STORAGE_CLASS
storage class name 1 - 8 character
Definition FL4REC.h:514
@ FLMSET_PRIMARY_SPACE
size of primary in MiB 1 - 4095
Definition FL4REC.h:509
@ FLMSET_DISPOSITION_ABNORMAL
abnormal disposition 0: Default, 1: DELETE, 2: KEEP, 3: CATLG, 4: UNCATLG
Definition FL4REC.h:518
@ FLMSET_DATA_CLASS
data class name 1 - 8 character
Definition FL4REC.h:513
@ FLMSET_MANAGEMENT_CLASS
management class name 1 - 8 character
Definition FL4REC.h:515
@ FLMSET_SECUREINFO
secure info 0: no, 1: yes, 2: ignore, 3: member
Definition FL4REC.h:520
@ FLMSET_SECONDARY_SPACE
size of secondary space in MiB 1 - 4095
Definition FL4REC.h:510
@ FLMSET_DISPOSITION_NORMAL
normal disposition 0: Default, 1: DELETE, 2: KEEP, 3: CATLG, 4: UNCATLG
Definition FL4REC.h:517
@ FLMSET_CRYPTOMODE
mode of encryption 0: none, 1: FLAM, 2: AES
Definition FL4REC.h:519
@ FLMSET_UNIT
unit name 1 - 8 character
Definition FL4REC.h:512
@ FLMGET_SECUREINFO
secure info 0: no, 1: yes, 2: ignore, 3: member
Definition FL4REC.h:531
@ FLMGET_SPLITNUMBER
split number 2 - 4
Definition FL4REC.h:528
@ FLMGET_SPLITSIZE
split size in MiB 1 - 4095
Definition FL4REC.h:529
@ FLMGET_SPLITMODE
split mode 0: none, 1: serial, 2: parallel
Definition FL4REC.h:527
@ FLMGET_RLCOMPMODE
real compression mode 3: ADC 8: ZEDC
Definition FL4REC.h:533
@ FLMGET_CRYPTOMODE
mode of encryption 0: none, 1: FLAM, 2: AES
Definition FL4REC.h:530
@ FLMGET_MODE
general mode 0: deco/read 1: comp/write
Definition FL4REC.h:532
Key elements for index sequential data access.
Definition FL4REC.h:558
U32 KEYFLG
Key flag.
Definition FL4REC.h:561
FKE KEYELM[8]
Array of key elements.
Definition FL4REC.h:566
U32 KEYCNT
Number of key elements.
Definition FL4REC.h:564
Defines a key element for index sequential access methods (VSAM-KSDS)
Definition FL4REC.h:541
U32 KEYTYP
Data type:
Definition FL4REC.h:549
U32 KEYLEN
Length of the key in the record (minimum 1, default 8)
Definition FL4REC.h:546
U32 KEYPOS
Key position.
Definition FL4REC.h:544